summaryrefslogtreecommitdiffstats
path: root/macosx/HBAudioController.m
Commit message (Collapse)AuthorAgeFilesLines
* 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
* MacGui: Audio ... Add an "Add All Tracks" button to the audio tab.dynaflash2010-09-161-14/+48
| | | | | | | - Patch by circleone... Thanks again! - Adds all available source tracks at the default mixdown etc. to the macgui in one click. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3536 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Audio ... Allow more than 4 audio tracks.dynaflash2010-09-151-0/+423
- Patch courtesy of circleone ... Thanks! - Use a NSTableView to dynamically add/delete audio tracks ala the Subtitle tab. - Sets a 24 track limit until someone tests more than 24 tracks (the libhb 8 track limit was removed as per http://trac.handbrake.fr/changeset/3531). - Replaces the old static 4 tracks to a dynamic array. - Moves macgui audio handling to a separate class. Known caveats: - Borks queue editing which needs a revamp anyway. - Queue window display needs to be adjusted to show more than 4 tracks appropriately. Again, its cosmetic and is not a show stopper. - There may be other possible unknown side effects even though tested on all presets. That said, I feel it needs to get in so that we can get feedback from nightlies. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3532 b64f7644-9d1e-0410-96f1-a4d463321fa5