59 Commits

Author SHA1 Message Date
Damiano Galassi
9fc519511c
MacGui: remove an unused property. 2023-11-11 18:59:15 +01:00
Damiano galassi
b9bc09393b
MacGui: make some popovers semitransient to avoid showing a new one even if there is one already open. 2023-10-18 08:22:25 +02:00
Damiano Galassi
a681474f16
MacGui: add a popover to edit tracks names. 2019-09-26 10:45:45 +02:00
Damiano Galassi
c762b2c0ec
MacGui: set the minimum deployment target to 10.10. Remove Growl and use macOS standard notifications. Remove deprecated API usage and code that doesn't compile anymore (QTKit). 2018-06-08 16:59:25 +02:00
Damiano Galassi
7481df6459 MacGui: move the objc libhb wrapper to a separate framework. 2016-03-11 13:51:17 +01:00
Damiano Galassi
5adef96a78 MacGui: use an pair of 'OK' and 'Cancel' buttons in the defaults sheets instead of a single done button. Fixed the bitrates and mixdowns popups in the audio defaults. 2015-10-29 08:55:47 +01:00
Damiano Galassi
7e32b94a04 MacGui: add redo/undo supports to the audio part of HBJob. 2015-10-24 10:50:27 +02:00
ritsuka
48a9e54687 MacGui: convert the mac gui to Objective-C ARC.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6996 b64f7644-9d1e-0410-96f1-a4d463321fa5
2015-03-17 13:56:21 +00:00
ritsuka
677231f07d MacGui: Move the audio/subtitles selection logic out of the view 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
2015-01-13 08:08:04 +00:00
ritsuka
e5e00e722a MacGui: rename HBAudio class to HBAudioTrack.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6696 b64f7644-9d1e-0410-96f1-a4d463321fa5
2015-01-09 07:34:11 +00:00
ritsuka
77d37037be MacGui: clean up headers and imports.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6661 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-12-27 15:56:29 +00:00
ritsuka
7f6ec5084e MacGui: remove redundant "enabled" property in a few view controller. Cosmetics in HBController.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6660 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-12-27 12:29:00 +00:00
ritsuka
df8b2ff3e1 MacGui: change the queue to work with serialized HBJob objects, remove the 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
2014-12-27 10:46:04 +00:00
ritsuka
546f57a140 MacGui: fixed a number of memory leaks. Do not set some deprecated hb_job fields.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6637 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-12-22 07:30:12 +00:00
ritsuka
6305d5f38a MacGui: use HBJob tracks array in HBAudioController and 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
2014-12-21 12:55:37 +00:00
ritsuka
01b16be689 MacGui: use HBJob when possible.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6633 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-12-21 06:34:10 +00:00
ritsuka
8d8c8c1c56 MacGui: separate the video settings logic from the view controller. There 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
2014-12-18 11:18:00 +00:00
ritsuka
cdbf8a54bf MacGui: pass only the tracks array to the addTracksFromQueue: method, no need to pass the entire job dict.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6498 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-11-02 15:17:54 +00:00
ritsuka
e01093fa14 MacGui: fixed some warnings.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6486 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-10-30 19:37:50 +00:00
ritsuka
a13b937ba0 MacGui: renamed HB*Settings classes to HB*Defaults. Added a “…” char to the “Configure Defaults” button.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6341 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-08-22 06:30:58 +00:00
ritsuka
6aee3b7518 MacGui: implemented the HBViewValidation protocol in each of the main window view controllers.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6285 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-08-10 16:05:07 +00:00
ritsuka
8d93fa6d55 MacGui: Modernized the objc syntax of HBAudio/HBAudioController and avoided 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
2014-08-05 07:49:22 +00:00
ritsuka
dd3518f0e6 MacGui: simplified the way the audio tracks are stored in the queue.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6267 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-08-04 16:46:17 +00:00
ritsuka
3fdfc2d020 MacGui: Adds a new sheet for audio defaults (presets), uses the same preset 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
2014-08-04 07:12:12 +00:00
ritsuka
31283b4427 MacGUI: Refactored the controller code for the 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
2014-07-15 18:30:51 +00:00
sr55
3611993e93 Remove libfaac
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6094 b64f7644-9d1e-0410-96f1-a4d463321fa5
2014-03-02 17:12:06 +00:00
Rodeo
d7ad9c9682 decavcodec: DRC support.
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
2014-01-25 23:24:48 +00:00
ritsuka
edc929027e MacGUI: fixed a number of leaks/null-deferences/dead-code found by clang static analyzer.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5838 b64f7644-9d1e-0410-96f1-a4d463321fa5
2013-10-15 11:36:51 +00:00
Rodeo
35a67836e6 MacGui: get rid of now obsolete @"UseCoreAudio" preference and related widgets
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
2013-06-20 17:24:36 +00:00
Rodeo
93117add4e Don't expose rate, mixdown, dither and encoder arrays to the UIs.
- 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
2013-05-30 13:57:37 +00:00
Rodeo
0b0ecc8e17 MacGui: harmonize audio configuration code in prepareJob and prepareAudioForJob.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5422 b64f7644-9d1e-0410-96f1-a4d463321fa5
2013-04-28 21:05:55 +00:00
Rodeo
5ca5ec3e6f Audio dithering.
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
2013-02-05 17:53:03 +00:00
Rodeo
8d9969febd Audio improvements.
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
2012-09-03 12:37:16 +00:00
dynaflash
09a30794cb MacGui: Add support for a secondary audio language track.
- 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
2012-08-27 18:36:17 +00:00
Rodeo
fc3e44b2ba libhb: drop HB_INPUT_CH_LAYOUT_*
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
2012-06-18 21:11:48 +00:00
Rodeo
b0c88b1f45 MacGui: add Auto Passthru support.
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
2012-01-24 17:13:26 +00:00
jstebbins
9d95d88d5a Add flac + quality + compression level support
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
2011-10-12 20:19:33 +00:00
Rodeo
d522dcb3ab MacGui: since Auto Passthru isn't enabled yet, we still need to fall back to 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
2011-09-19 21:51:00 +00:00
Rodeo
a3367322b9 libhb: Auto Passthru and audio/video encoder lists.
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
2011-09-19 21:15:01 +00:00
Rodeo
ebc41002e0 MacGui: Make AAC and MP3 passthru fall back to the AAC and MP3 encoders, 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
2011-08-18 23:04:02 +00:00
Rodeo
fc26f24de9 MacGUI: HBAudioController.m: remove two stray newlines which my patch inexplicably introduced in revision 4054.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4178 b64f7644-9d1e-0410-96f1-a4d463321fa5
2011-08-15 20:30:55 +00:00
jstebbins
76d480815a add more audio passthru options
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
2011-08-01 18:06:22 +00:00
dynaflash
30a27fdddd MacGUI: use "AC3 (ffmpeg)" to designate the ffac3 encoder (for consistency).
- 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
2011-07-19 17:49:19 +00:00
dynaflash
4c30ccadee MacGUI: Consolidate passthrough mixdowns.
- 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
2011-07-19 15:28:24 +00:00
dynaflash
3db1924b1f MacGui: Don't call "return" at the end of a void function.. .. Redux!
- 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
2011-06-14 20:54:10 +00:00
dynaflash
5cda40098c MacGui: Add blank line to previous commit files to fix the commit notes I 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
2011-06-14 20:48:15 +00:00
dynaflash
4f5d31904d MacGui: Don't call "return" at the end of a void function.
- 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
2011-06-14 20:37:17 +00:00
jstebbins
d4b5c3e9ea Add DTS-HD passthru \o/
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4055 b64f7644-9d1e-0410-96f1-a4d463321fa5
2011-06-14 01:24:34 +00:00
dynaflash
b3b9ef3add MacGui: HBAudio Indentation Cleanup
- 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
2011-06-13 20:27:46 +00:00
dynaflash
e4683402a0 MacGui: Clean up internal architecture of HB Audio and HBAudioController
- 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
2011-05-26 15:48:37 +00:00