summaryrefslogtreecommitdiffstats
path: root/macosx/HBAudio.m
Commit message (Collapse)AuthorAgeFilesLines
* libhb: resolve header conflicts with pango/harfbuzzJohn Stebbins2019-09-121-1/+1
| | | | | | | Newest versions appear to have a "common.h" somewhere that is interfering with libhb/common.h. move headers into "handbrake" subdirectory
* Resolve conflict with harfbuzz include file hb.hJohn Stebbins2019-09-101-1/+1
| | | | Rename hb.h to handbrake.h
* MacGui: passthru tracks names.Damiano Galassi2019-08-301-1/+2
|
* MacGui: make use of some newer NSCoding api to better report decoding failure.Damiano Galassi2019-08-151-4/+3
|
* MacGui: fix an exception when reading an HBJob from disk; do not store ↵Damiano Galassi2019-08-141-1/+3
| | | | previews image when scanning the title in the queue; set the log level immediately; improve progress info when the pass number is not set yet.
* MacGui: convert the last usage of NSDictionary to a proper class, fix ↵Damiano Galassi2019-08-131-7/+7
| | | | external subtitles tracks when sandboxed. Add initial support to the model to store the track title.
* MacGui: enable and fix more warnings. Review nullability annotations.Damiano Galassi2019-08-121-3/+3
|
* MacGui: move the queue libhb instance to an xpc service.Damiano Galassi2019-08-111-1/+1
|
* Fix some typos (#2202)Nomis1012019-07-311-1/+1
| | | Fix some typos
* 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