summaryrefslogtreecommitdiffstats
path: root/macosx/HBAudio.m
Commit message (Collapse)AuthorAgeFilesLines
* MacGui: write the queue to disk less often and add some validations when ↵Damiano Galassi2019-06-081-1/+1
| | | | reading it back from disk.
* MacGui: load the HandBrakeKit framework localized strings from the framework ↵Damiano Galassi2018-10-201-1/+2
| | | | bundle.
* MacGui: improve NSLocalizedString comments.Damiano Galassi2018-06-091-1/+1
|
* MacGui: use KVO to get a good part of the change notification in the summary ↵Damiano Galassi2017-11-241-2/+2
| | | | view.
* MacGui: do not load a job from disk if one or more job objects are missing.Damiano Galassi2017-04-211-1/+4
|
* MacGui: fix auto mixdown.Damiano Galassi2017-04-131-9/+1
|
* MacGui: improve management of security scoped resources. Fix external SRT in ↵Damiano Galassi2017-01-251-1/+1
| | | | the sandboxed build.
* MacGui: enable NSSecureCoding for the queue file.Damiano Galassi2016-12-271-2/+2
|
* MacGui: fix audio and subtitles tracks when reloading a job from the queue.Damiano Galassi2016-12-271-8/+10
|
* MacGui: fix HBJob copy method, plus small performance optimisation in ↵Damiano Galassi2016-11-021-24/+29
| | | | HBAudio and HBSubtitles.
* MacGui: made some HBJob properties private.Damiano Galassi2016-10-311-0/+4
|
* MacGui: use hb_preset_job_init instead of custom logic for audio, subtitles ↵Damiano Galassi2016-10-291-141/+27
| | | | and picture job settings.
* MacGui: rework HBAudioTrack to use less NSDictionary.Damiano Galassi2016-09-031-237/+218
|
* MacGui: use an pair of 'OK' and 'Cancel' buttons in the defaults sheets ↵Damiano Galassi2015-10-291-0/+1
| | | | instead of a single done button. Fixed the bitrates and mixdowns popups in the audio defaults.
* MacGui: add redo/undo supports to the audio part of HBJob.Damiano Galassi2015-10-241-17/+40
|
* MacGui: remove some HBPreset -> NSDictionary conversions and add a mutable ↵Damiano Galassi2015-10-131-2/+2
| | | | version of HBPreset.
* MacGui: implemented the NSSecureCoding protocol in HBJob. Added a ↵ritsuka2015-04-221-5/+10
| | | | | | compatibility class to fall back on NSCoding on 10.7 and earlier. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7112 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: run the Xcode "convert to modern objective-c" on the entire project.ritsuka2015-04-091-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7075 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: convert the mac gui to Objective-C ARC.ritsuka2015-03-171-25/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6996 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: properly deregister the job observers, and refactor a bit the ↵ritsuka2015-02-041-3/+12
| | | | | | HBAudioTrack notification. Refactored HBPreviewController to take a single HBPreviewGenerator instance in input. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6869 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: add a HBAudioTrackDataSource protocol to simplify HBAudio interface.ritsuka2015-01-311-5/+10
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6844 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fix some leaksritsuka2015-01-151-2/+25
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6753 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Move the audio/subtitles selection logic out of the view ↵ritsuka2015-01-131-0/+430
| | | | | | controllers. Now it's possible to create a HBJob and apply a preset to without the UI classes help. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6741 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: rename HBAudio class to HBAudioTrack.ritsuka2015-01-091-645/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6696 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: move more things out of HBController.ritsuka2014-12-281-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6664 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: change the queue to work with serialized HBJob objects, remove the ↵ritsuka2014-12-271-0/+25
| | | | | | NSDictionary job representation and the duplicate prepareJob method. Implement NSCopying protocol in HBJob. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6655 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: move the UI helper methods to new categories. Implement NSCoding in ↵ritsuka2014-12-231-0/+41
| | | | | | more classes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6643 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fixed gain validation in the audio panel. Remove the drc validation ↵ritsuka2014-08-101-22/+7
| | | | | | because it’s not possible to insert the value manually. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6284 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Modernized the objc syntax of HBAudio/HBAudioController and avoided ↵ritsuka2014-08-051-171/+134
| | | | | | the use of KVO to observer changes inside the same class. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6268 b64f7644-9d1e-0410-96f1-a4d463321fa5
* decavcodec: DRC support.Rodeo2014-01-251-3/+4
| | | | | | | Adds DRC support for E-AC-3 audio (as well as any future libavcodec decoders with DRC support). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5995 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: fixed a number of leaks/null-deferences/dead-code found by clang ↵ritsuka2013-10-151-5/+5
| | | | | | static analyzer. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5838 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb/common: improve fallback mechanism.Rodeo2013-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | API changes: - added hb_global_init(), must be called before any other libhb function - removed (somewhat pointless) hb_mixdown_t.internal_name - some hb_*_get_from_name() functions now return 0 instead of -1. Instead of hardcoded fallbacks, list items now have a specific fallback, and a generic ID for when the specific fallback is unavailable. Encoder availability is checked at runtime (hb_global_init calling hb_common_global_init) and the item's value/fallback is sanity-checked and updated if necessary. See https://reviews.handbrake.fr/r/506/ for more detailed information. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5547 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't expose rate, mixdown, dither and encoder arrays to the UIs.Rodeo2013-05-301-81/+53
| | | | | | | | | | | | | | | | | | | | - instead, make these lists available through enumerators: --> hb_*_get_next(<type> *last); - this should give us more flexibility to populate the lists at runtime, using the implementation(s) of our choice, whether they use arrays or not, without requiring UI modifications - use consistent naming for getters --> hb_get_best_foo() becomes hb_foo_get_best(), and so on - hb_*_get_from_name() and hb_*_ sanitize_name() sanitize the requested value to a supported one if it's unavailable - adds an additional, passthru-specific fallback mechanism - adds a list of video containers git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5526 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Audio improvements.Rodeo2012-09-031-19/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New supported samplerates: 8, 11.025, 12, 16 kHz. Now 8, 11.025, 12, 16, 22.05, 24, 42, 44.1, 48 Khz are supported. Unsupported samplerates are sanitized to the closest samplerate for all encoders. Samplerates < 32 kHz are now forbidden for AC3 encoding (sanitized to 32 kHz). Most AC3 decoders don't support such samplerates. New upmixing: 3.0 (Front Left, Right & Center) can now be upmixed to 5.1 to preserve the center channel. New mixdowns: 6.1 (Front Left, Right & Center, Surround Left, Right & Center, LFE) 7.1 (Front Left, Right & Center, Surround Left & Right, Rear Left & Right, LFE) -> available to Vorbis & FLAC encoders for compatible input channel layouts 7.1 (Front Left, Right & Center, Front Left & Right of Center, Surround Left & Right, LFE) -> available to AAC encoders (ca_aac, ca_haac, faac) for compatible input channel layouts Mono (Left Only): Stereo to Mono by discarding the Right channel Mono (Right Only): Stereo to Mono by discarding the Left channel -> available to all encoders for non-Dolby Stereo input The "6-channel discrete" mixdown becomes "5.1 Channels". New bitrates: 960 - 1536 Kbps. This lets users work around poor audio quality in crappy encoders by throwing more bits at them. Bitrate limits have been re-worked and re-tested for all encoders. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4930 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use HB_INVALID_AMIXDOWN and HB_AMIXDOWN_NONE where applicable.Rodeo2012-07-291-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4879 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove encca_haac_available(). It's no longer needed since we dropped ↵Rodeo2012-06-201-11/+9
| | | | | | support for OS X 10.5. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4759 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: drop HB_INPUT_CH_LAYOUT_*Rodeo2012-06-181-1/+1
| | | | | | | | AV_CH_LAYOUT_* works for us, and as its usage becomes more widespread in libhb, translating between the two formats gets increasingly tedious. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4754 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: add Auto Passthru support.Rodeo2012-01-241-3/+2
| | | | | | | | | | By default, all available passthru codecs are allowed, and the fallback is the AC3 encoder. Advanced settings can be enabled in Preferences > Audio, but are disabled by default. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4419 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add flac + quality + compression level supportjstebbins2011-10-121-36/+59
| | | | | | | | | Adds flac audio to cli, lingui, and macgui Adds quality and compression level options to cli Adds quality option to lingui Quality option works for vorbis and lame git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4281 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Auto Passthru and audio/video encoder lists.Rodeo2011-09-191-93/+40
| | | | | | | | | | | | | | This adds Auto Passthru as another encoder in libhb. Used in LinGUI and CLI. MacGUI features a partial impplmentation (with hardcoded values), which is disabled for now. Also, audio and video encoders are now stored in "lists", like we previously did for mixdowns. New mixdown "None" (HB_AMIXDOWN_NONE) added to hb_audio_mixdowns (was previously declared in MacGUI/LinGUI). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4237 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add more audio passthru optionsjstebbins2011-08-011-11/+25
| | | | | | | | | | | | | | | | | adds aac and mp3 passthru for mp4 and mkv containers adds dts and dtshd for mp4 container (mkv already had it) Note: The only player known (to me) to support dts(hd) in mp4 is ff/avplay In LinGui there is a new option to limit which passthru codecs will be used by the "Auto Passthru" audio codec options. The CLI already has this ability with "--audio_copy-mask" which is use in conjunction with the "copy" audio codec option. Also corrects some A/V sync issues when video frames are dropped due to a gap detected in the audio. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4149 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: use "AC3 (ffmpeg)" to designate the ffac3 encoder (for consistency).dynaflash2011-07-191-1/+1
| | | | | | | | | - Patch by Rodeo - This patch switches the codec name from "AC3" to "AC3 (ffmpeg)" for consistency. - Backwards-compatibility with old presets is handled by mapping "AC3" to "AC3 (ffmpeg)" when loading a preset. - Referenced here https://reviews.handbrake.fr/r/155/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4124 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: Consolidate passthrough mixdowns.dynaflash2011-07-191-20/+7
| | | | | | | | | | - There's no need for one passthrough mixdown per passthrough codec. - When using passthru, mixdown is set to "None". - Patch by Rodeo ... Thanks! - Fix a bug where we would sometimes attempt to modify a non-mutable NSDictionary, causing a crash. - Fix by blindjimmy ... Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4121 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Don't call "return" at the end of a void function.. .. Redux!dynaflash2011-06-141-12/+0
| | | | | | | | - As Per https://reviews.handbrake.fr/r/122/ - Thanks blindjimmy for the patche(s). - Borked commit notes courtesy of me. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4058 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Add blank line to previous commit files to fix the commit notes I ↵dynaflash2011-06-141-0/+1
| | | | | | | | | totally borked. - Proper change is: Simplify conditionals to make them more readable. As per https://reviews.handbrake.fr/r/123/ - Reverts commit notes for https://trac.handbrake.fr/changeset/4056 besides the update to xcode 3.2.6 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4057 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Don't call "return" at the end of a void function.dynaflash2011-06-141-33/+33
| | | | | | | | - Generally speaking, the fewer (simple) lines of code their are, the easier it is for someone to learn/understand it, so there's no good reason to have no-op lines laying around. - As per https://reviews.handbrake.fr/r/122/ - Also re commit the update to xcode 3.2.6 commit from https://trac.handbrake.fr/changeset/4004 which I borked later. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4056 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add DTS-HD passthru \o/jstebbins2011-06-141-2/+13
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4055 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: HBAudio Indentation Cleanupdynaflash2011-06-131-459/+531
| | | | | | | | | | | | - Patch by Rodeo ... Thanks! - Change hard tabs to 4 spaces - Place the opening bracket of if, else if, else, while and for statements on another line, not the same line as the condition. - Xcode's Edit > Format > Re-Indent on all files. - This patch is purely about cosmetics and indentation. There shouldn't be any change in behavior. - As per https://reviews.handbrake.fr/r/101/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4054 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add ffaac encode supportjstebbins2011-06-081-0/+7
| | | | | | | | Adds "AAC (ffmpeg)" option to lingui and macui, "ffaac" option to cli. Does not yet remove faac. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4031 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Clean up internal architecture of HB Audio and HBAudioControllerdynaflash2011-05-261-4/+1
| | | | | | | - patch by blindjimmy ... as always .... thank you! - as per https://reviews.handbrake.fr/r/81/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4002 b64f7644-9d1e-0410-96f1-a4d463321fa5