summaryrefslogtreecommitdiffstats
path: root/macosx/HBAudioController.m
Commit message (Collapse)AuthorAgeFilesLines
* MacGui: convert the mac gui to Objective-C ARC.ritsuka2015-03-171-4/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6996 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Move the audio/subtitles selection logic out of the view ↵ritsuka2015-01-131-420/+14
| | | | | | 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-11/+11
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6696 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: clean up headers and imports.ritsuka2014-12-271-15/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6661 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: remove redundant "enabled" property in a few view controller. ↵ritsuka2014-12-271-11/+3
| | | | | | Cosmetics in HBController. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6660 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: change the queue to work with serialized HBJob objects, remove the ↵ritsuka2014-12-271-87/+7
| | | | | | 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: fixed a number of memory leaks. Do not set some deprecated hb_job ↵ritsuka2014-12-221-1/+4
| | | | | | fields. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6637 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: use HBJob tracks array in HBAudioController and ↵ritsuka2014-12-211-0/+1
| | | | | | HBSubtitlesController. Add a method to convert a HBJob to a hb_job_t. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6635 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: use HBJob when possible.ritsuka2014-12-211-24/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6633 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: separate the video settings logic from the view controller. There ↵ritsuka2014-12-181-7/+7
| | | | | | are a number of small regression ("Custom" preset and auto naming not updating) that will be fixed in the next commits. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6606 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: pass only the tracks array to the addTracksFromQueue: method, no ↵ritsuka2014-11-021-2/+2
| | | | | | need to pass the entire job dict. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6498 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fixed some warnings.ritsuka2014-10-301-2/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6486 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: renamed HB*Settings classes to HB*Defaults. Added a “…” char ↵ritsuka2014-08-221-3/+3
| | | | | | to the “Configure Defaults” button. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6341 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: implemented the HBViewValidation protocol in each of the main window ↵ritsuka2014-08-101-6/+6
| | | | | | view controllers. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6285 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Modernized the objc syntax of HBAudio/HBAudioController and avoided ↵ritsuka2014-08-051-24/+20
| | | | | | 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
* MacGui: simplified the way the audio tracks are stored in the queue.ritsuka2014-08-041-171/+109
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6267 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Adds a new sheet for audio defaults (presets), uses the same preset ↵ritsuka2014-08-041-284/+190
| | | | | | | | keys as the LinGui. The built-in presets still use the languages from the Audio preferences. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6264 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: Refactored the controller code for the ↵ritsuka2014-07-151-4/+92
| | | | | | | | | | video/audio/subtitles/chapters view: Added a xib file and a NSViewController subclass for each tab of the main HandBrake window. Each view controller now to responds to the HBContainerChangedNotification and HBTitleChangedNotification notifications instead of using a custom way to notify changes. Converted the modified .xibs to the Xcode 5.1 format. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6231 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove libfaacsr552014-03-021-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6094 b64f7644-9d1e-0410-96f1-a4d463321fa5
* decavcodec: DRC support.Rodeo2014-01-251-2/+5
| | | | | | | 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-17/+18
| | | | | | static analyzer. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5838 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: get rid of now obsolete @"UseCoreAudio" preference and related widgetsRodeo2013-06-201-12/+1
| | | | | | | | MacGui doesn't include faac anymore. Mapping from faac to Core Audio is done by libhb's fallback mechanism. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5594 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't expose rate, mixdown, dither and encoder arrays to the UIs.Rodeo2013-05-301-38/+26
| | | | | | | | | | | | | | | | | | | | - 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
* MacGui: harmonize audio configuration code in prepareJob and prepareAudioForJob.Rodeo2013-04-281-16/+16
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5422 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Audio dithering.Rodeo2013-02-051-0/+2
| | | | | | | | | | | | Works with encoders that accept 16-bit signed integers as input (currently, only ffflac). When supported, the default method is standard triangular. CLI users can request a specific dither algorithm via the --adither option. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5241 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Audio improvements.Rodeo2012-09-031-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* MacGui: Add support for a secondary audio language track.dynaflash2012-08-271-7/+34
| | | | | | | | | | | | - Patch courtesy of Dennis Frommknecht ... thank you! - Adds a second language preference in Preferences > Audio -- If the corresponding language is not available in the source, the group for this language is not added. If neither default nor alternate language is found, the first audio track would be added (as it is already). The alternate language can also be left empty in which case no second group is added. -- The implementation ensures that the same track is not added twice (if default and alternate language are identical). It is also flexible enough to support an arbitrary number of languages. They just have to be added to array "preferredLanguages" at the beginning of method "addTracksFromPreset" (HBAudioController.m). The original patch and explanation can be found at https://reviews.handbrake.fr/r/262/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4921 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-8/+0
| | | | | | | | | | 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-0/+1
| | | | | | | | | 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
* MacGui: since Auto Passthru isn't enabled yet, we still need to fall back to ↵Rodeo2011-09-191-0/+8
| | | | | | | | | | AC3 Passthru when loading a preset. Also, update an outdated comment. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4238 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Auto Passthru and audio/video encoder lists.Rodeo2011-09-191-8/+0
| | | | | | | | | | | | | | 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
* MacGui: Make AAC and MP3 passthru fall back to the AAC and MP3 encoders, ↵Rodeo2011-08-181-2/+24
| | | | | | | | | | respectively (instead of dropping them like DTS/DTS-HD). Drop the never-used AC3PassthruDefaultsToAC3 preference (it defaulted to true and was never wired to the GUI). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4186 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: HBAudioController.m: remove two stray newlines which my patch ↵Rodeo2011-08-151-2/+0
| | | | | | inexplicably introduced in revision 4054. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4178 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add more audio passthru optionsjstebbins2011-08-011-0/+7
| | | | | | | | | | | | | | | | | 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/+6
| | | | | | | | | - 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-3/+16
| | | | | | | | | | - 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-21/+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-21/+21
| | | | | | | | - 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-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4055 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: HBAudio Indentation Cleanupdynaflash2011-06-131-369/+413
| | | | | | | | | | | | - 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
* MacGui: Clean up internal architecture of HB Audio and HBAudioControllerdynaflash2011-05-261-11/+19
| | | | | | | - 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
* MacGui: Fix some compile time warnings.dynaflash2011-05-261-1/+1
| | | | | | | - patch by blindjimmy, thanks! - as per https://reviews.handbrake.fr/r/99/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4001 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Audio Gain Control initial implementationdynaflash2011-05-261-1/+29
| | | | | | | | | | | | | | - Adds a Circular Slider to implement gain from a range of -5 to +15 which is sane by any reasonable measure. - Note: the circular slider with this range puts the default of 0.0 at the three o'clock position on the slider which is kind of wonky. Any ideas to make it more intuitive are welcome. -The accompanying text field readout is left editable so values beyond the sliders range can be specified manually. - Gain is disabled for any passthru options obviously. - Though it has been in cli and lingui for some time, as a note my tests show that anything above +15 can get distorted quite easily. Of course that is open to opinion depending on source, I have yet to see a complaint about the volume of encoded audio being too high but we leave up to -5 there just for the corner cases. - Any existing presets not specifying gain will use a gain of 0.0 which means of course its unmodified. - Also as a sidenote takes care of blindjimmy's patch https://reviews.handbrake.fr/r/99/ as far as /macosx/HBQueueController.m git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4000 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Macgui: libhb, MacGUI: reflect the fact that DRC only applies to ↵dynaflash2011-05-191-1/+9
| | | | | | | | | non-passthru AC3 sources - As per https://reviews.handbrake.fr/r/74/ -Patch by Rodeo, Thanks. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3983 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Audio - Using fallback codec no longer sets the bit rate from the ↵dynaflash2010-10-291-1/+5
| | | | | | preset. Setting the sample rate no longer sets the bit rate to the default if the currently selected bit rate is still supported. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3627 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Use libhb for audio limits as well as defaults.dynaflash2010-10-081-7/+37
| | | | | | - Patch by circlone! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3585 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add ac3 encodingjstebbins2010-10-041-0/+5
| | | | | | | Uses ffmpeg's ac3 encoder. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3570 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Audio Fixes and Enhancements ... patch by circleone.dynaflash2010-09-201-44/+86
| | | | | | | | | | | | | Fixes issue where changing to custom from a preset then changing titles will cause an empty audio tab. Also: - Added the ability for HandBrake's language preference to be honored when it occurs in the title's tracks. - Ensured the limit (currently 24) is not passed when adding audios using presets. - If no preset is chosen, when a new title loads, one track is added (based on the language preference or the first if that is not met). - Reinitializing the audio array is now KVO-friendly, making the UI refresh more pleasant. - The "Add All Tracks" button has been made mini in size. - The audio table view no longer attempts to keep the selection. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3549 b64f7644-9d1e-0410-96f1-a4d463321fa5