MacGui: Add auto crop value to main window
- shows if you are using Auto or Custom cropping in the Video tab of the main window.
- Prepares controller.mm to better use custom/auto cropping values particularly with presets.
- Required since auto crop is not currently stored in a title or job variable, and proper use of cropping for presets requires the preset to know what cropping to actually use.
Fixes to the CLI for forced subtitles, and Turbo.
-Fixes a bug in the HB CLI whereby you can't use the native-language switch to enable subtitles when doing single pass.
-Changes the threshold for enabling subtitles automatically during a subtitle scan from 20% to 10%.
-Changes the turbo options to match what the GUI is doing.
Implement transport and program stream support. With these changes it's now possible to open a .ts or .mpg files and transcode to standard Handbrake Output files. This fixes Ticket #21.
- Re-wrote bits of frmReadDVD to fix a bug where DVD's with only 1 title would not be listed in the DVD title dropdown. Also cleaned the code up a bit. Hopefully this re-write doesn't have too many bugs. Initial testing shows it appears to work fine.WinGui:
- Changed shell() to System.Diagnostics.Process.Start()
Appears to work a bit better than shell()
- Removed Advanced Settings Tab. Processor selection is now in Tools > Options.
- Query editor box cleared on new title or chapter selection. User will still need to clear it by hand if they change any other setting.
- In the previous rev a few tool tips were added
dynaflash [Fri, 29 Jun 2007 17:31:08 +0000 (17:31 +0000)]
MacGui: Presets use white font when selecting built in presets (previously stayed blue which sucked since it was highlighted in blue, so you couldnt read it when selected).
- Also some test shadow code to shadow the highlighted font similar to Mail.app. In testing looks poor, so its commented out for now.
dynaflash [Fri, 29 Jun 2007 17:00:01 +0000 (17:00 +0000)]
MacGui: Add description field and tooltips for Presets
- Add description NSTextField to the Add New Preset Panel
- Added descriptions for the Built-In Presets (be sure to use "Update Built-In Presets" in the Presets menu to get descriptions)
- Added Tooltips to the presets drawer which shows the description of the preset.
dynaflash [Thu, 28 Jun 2007 15:51:01 +0000 (15:51 +0000)]
MacGui: Built In Presets - Added iPod Low-Res
- Changed current iPod to "iPod High-Res" and changed its opt string to keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1 as per rhester
dynaflash [Thu, 28 Jun 2007 15:14:33 +0000 (15:14 +0000)]
MacGui: Re-Add Preference to enable 64 bit mp4 files option in the main window.
- This is a reversion to a feature added in 620 that was then taken back out in 621. Due to the breaking of so many target devices, we should error on the side of caution here.
sr55 [Tue, 26 Jun 2007 18:10:51 +0000 (18:10 +0000)]
WinGui:
- New layout on options window. Added verbose mode option
- Added the ability to re-arrange the queue
- Fixed the issue where selecting the same chapter for start and finish would result in something like "-c 6-6"
- Few other small changes & design tweaks
sr55 [Sat, 23 Jun 2007 20:06:40 +0000 (20:06 +0000)]
WinGui:
- Fixed Tools>Options would not remember settings on Windows Vista
- Fixed "Set current options as program defaults" not saving current settings on vista.
sr55 [Sat, 23 Jun 2007 19:29:36 +0000 (19:29 +0000)]
WinGUI:
- Small changes to the update window
- More GUI error checking added. CRF automatically disabled when Video Quality option is not used
- Audio mixdown option no longer requires a checkbox to enable it
sr55 [Sat, 23 Jun 2007 14:55:42 +0000 (14:55 +0000)]
WinGUI:
- Added: support for Turbo 1st Pass with H.264
- Added: support for >4GB mp4 files
- CRF, Turbo 1st pass now automatically switch off when a non h.264 encoder is selected
- Changed video settings tab to accommodate 2 new additions listed above.
sr55 [Fri, 22 Jun 2007 21:59:40 +0000 (21:59 +0000)]
WinGUI:
If Chapter Markers is checked, GUI now sets .m4v extension when user clicks the "browse" button in the destination box. Previously it would default to mp4 if you changed the file save location after having checked Chapters Markers.
sr55 [Fri, 22 Jun 2007 18:02:27 +0000 (18:02 +0000)]
WinGui:
- New Message-box alert design. These include Warning, Information and Error Icons just like the standard windows alerts. Along with this, some of the messages have been changed slightly so should easier to understand now.
sr55 [Fri, 22 Jun 2007 13:46:22 +0000 (13:46 +0000)]
# Start of Version 2.3
- New Title drop down menu's Added
- Fixed Profile bug where if anamorphic was selected when the profile was clicked, the resolution boxes would not be filled out.
- Fixed Anamorphic and Chapter markers were saved in the wrong order.
- Added version tag code to avoid having to update all the windows manually. Pulls version straight from settings file now.
dynaflash [Wed, 20 Jun 2007 20:08:20 +0000 (20:08 +0000)]
MacGui: ScanController modification so it skips the opening scan choice sheet and goes right to the file browse window if the "DVD Auto Detect" is turned off in the preferences.
Saves a few clicks on selecting source files.
Also, small change to controller.mm so that if an invalid source is selected, it shows up instead of the dvd name.
Scan panel if no auto detect could use a bit of fine tuning, but it works.
dynaflash [Tue, 19 Jun 2007 17:44:09 +0000 (17:44 +0000)]
MacGui: Close Main Window issue fixed.
- Can now close the main HB window while HB is running and then re-open it with the "Main Window" selection in the "Window" toolbar menu without disturbing the current encode.
- Note: should probably add "Main Window" to the Dock Icon Context menu as well.
dynaflash [Tue, 19 Jun 2007 15:18:11 +0000 (15:18 +0000)]
MacGui: Chapter Popup fix condition where user can select a start chapter greater than the end chapter
- Old behavior would result in a 00:00:00 encode
- Now checks upon change and defaults to a single chapter rip relative to the start chapter.
- Also fixed audio bitrate title in gui window from (Hz) to (khz)
dynaflash [Mon, 18 Jun 2007 19:02:20 +0000 (19:02 +0000)]
MacGui: Pref for Encode Done alert added
- Added combobox to the Preferences nib so user can select "None", "Alert Window", "Growl Notification", "Alert Window and Growl Notification".
- Defaults to "Alert Window" if user has never set it before.
saintdev [Sun, 17 Jun 2007 00:51:17 +0000 (00:51 +0000)]
Switch buf->key to buf->frametype which is a bitmask telling us what type of frame we are dealing with.
This doesn't change any functionality, but I need to be able to distinguish between x264 IDR and I frames for the upcoming matroska muxer.
This also has the side effect of making the code a little easier to read and maintain.
dynaflash [Thu, 14 Jun 2007 20:19:59 +0000 (20:19 +0000)]
MacGui: Disable DVD Drive Auto-Detect option in preferences.
- this feature allows you to use other dvd aware apps (mactheripper, dvd player, etc.) while using HB to encode a folder on your hard drive.
- checkbox in prefs nib to disable dvd drive auto detect
- when checked, hb does not poll for available drives at all.
- can still manually navigate to a dvd and select it though.
- is unchecked by default.
dynaflash [Thu, 14 Jun 2007 15:56:36 +0000 (15:56 +0000)]
MacGui: + 4 GB Mpeg-4 modification
- adds a preference in the preferences window under advanced to turn on the option to use 64 bit formatting.
- default is unchecked, so unless the user checks this preference, they will never even see the option in the main window, and HB will ignore it all of the time.
dynaflash [Thu, 14 Jun 2007 15:04:53 +0000 (15:04 +0000)]
MacGui: Enable + 4GB Mpeg-4 file output
- Add a checkbox under "Format" field to allow > 4 gb file output.
- Slightly raised the Format and Codecs popups to allow for checkbox (not totally conviced this is a good place for it, but should work for now).
- checkbox auto hides if any format other than mpeg-4 is chosen.
- checkbox unchecked by default.
- automatically unchecks if h.264 ipod is chosen
Note: It Might make sense to add some kind of global in preferences that controls whether or not that feature even presents itself at all, and default it to off so its only available if a user enables it in prefs.
jbrjake [Wed, 13 Jun 2007 18:41:23 +0000 (18:41 +0000)]
Finally recommitting clee's patch from r518 to allow 64-bit mp4 files that can hold more than 4 gigs... controlled by a boolean called job->largeFileSize and enabled from the cli with -4 or --large-file. Note that this breaks compatibility with stuff like the iPod, AppleTV, PS3 (I think), etc...so it is off by default.
Also converted a few stray hard tabs into soft tabs.
dynaflash [Wed, 13 Jun 2007 16:07:42 +0000 (16:07 +0000)]
MacGui: Add Turbo option for x264 two pass encoding
- Adds a Turbo checkbox under the 2-pass checkbox in the video tab if x264 is selected and 2-pass is checked, otherwise the Turbo checkbox is hidden and deselected
- Appends ":ref=1:subme=1:me=dia:analyse=none:weightb=0:trellis=0:no-fast-pskip=0:8x8dct=0" to a given x264 option string on the first pass of a two pass encode if the Turbo checkbox is checked.
- in testing, roughly doubles the first pass encoding speed using the HB-AppleTV preset opt string on a 2 pass encode.
jbrjake [Tue, 12 Jun 2007 03:39:39 +0000 (03:39 +0000)]
Disables extra audio tracks so they don't all play over the main audio track in QuickTime. They can be re-enabled from the Properties menu in QT Pro or with Dumpster. Shouldn't have any affect on people who use sane video players. Props to eddyg for reporting the issue, identifying the atom in question, and castigating me for my lazy and unkempt coding ways.
cleaner [Sun, 10 Jun 2007 17:07:43 +0000 (17:07 +0000)]
MacGui: Proposal for replacing UpdateUI timer in HBController. HBCore is a more ObjC-like interface to the core libhb library. It provides notifications of libhb state changes via NSNotificationCenter. Interfaces for scanning, encoding, bindings etc. can be added later. Note: this class is not used in HB (yet).
cleaner [Wed, 6 Jun 2007 17:12:12 +0000 (17:12 +0000)]
- Moved preferences window from MainMenu.nib to Preferences.nib
- Moved languages from PrefsController.m to Preferences.nib
- Renamed PrefsController to HBPreferencesController
- Implemented bindings in Preferences.nib
- Enabled autocomplete in audio language combobox
jbrjake [Wed, 6 Jun 2007 02:09:41 +0000 (02:09 +0000)]
A big batch of patches from eddyg.
Adds following options to the CLI:
--subtitle-scan for auto-selecting subtitles for foreign language segments in native language audio tracks
--native-language for auto-selecting subtitles for foreign language audio without knowing the track number
--longest for auto-selecting the longest title like in the MacGui
--turbo for improving speed on the first pass of a two pass encode with x264 (based on superdump's turbo x264 options in mencoder).
cleaner [Tue, 5 Jun 2007 20:09:13 +0000 (20:09 +0000)]
Moved initialization of default preferences from [PrefsController awakeFromNib] to class method [PrefsController registerUserDefaults], which is called from [HBController init].
This fixes problem with preferences when using HB for the first time, or after deleting the user defaults file.
jbrjake [Sun, 27 May 2007 20:24:11 +0000 (20:24 +0000)]
MacGui: switches the x264 option widgets for mixed-refs, weightb, brdo, bime, b-pyramid, no-dct-decimate, and no-fast-pskip to be checkboxes, which makes more sense than popup buttons for booleans.
I've never worked with switches before, so hopefully I didn't break anything. Also never checked in this many GUI changes at once. So maybe I did break something =)
jbrjake [Tue, 22 May 2007 16:42:46 +0000 (16:42 +0000)]
MacGui: adds deblocking widgets for the x264 advanced options tab. God this one was a pain. Haven't decided yet whether to include a boolean to turn deblocking on and off. Not sure where I'd stick it right now, at least.
dynaflash [Mon, 21 May 2007 16:50:21 +0000 (16:50 +0000)]
MacGui: Debug Window to read libhb output like cli in inspector window
- Thank You Cleaner!!
- Adds Debug Output to Window menu
- Adds Verbose pref to preferences menu
- MacGui now reads output from libhb like cli
- May add pref to open Debug Output window upon launch
- All credit goes to Cleaner, Thank You!
jbrjake [Wed, 16 May 2007 18:34:29 +0000 (18:34 +0000)]
MacGui: adds x264 option widgets for b-rdo, weight, and b-pyramid. And a little layout reorganization to take advantage of the space freed up by dynaflash's last commit. Yes, I know the dividing lines are ugly. They are temporary.
dynaflash [Wed, 16 May 2007 14:43:08 +0000 (14:43 +0000)]
macGui: move "Duration" to the title/chapter line for source and move "Output" section up into that space.
Increase the height of the tabbed views to free up space for more tabbed info.
jbrjake [Tue, 15 May 2007 20:49:03 +0000 (20:49 +0000)]
MacGui: use subq for subpixel motion estimation instead of subme. This helps avoid those string-searching issues touched on in the past two commits.
This will have to be revisited when I add a "bime" option, because that will probably conflict with what dynaflash added in the last commit to sort this problem out.
dynaflash [Tue, 15 May 2007 20:33:42 +0000 (20:33 +0000)]
macGui: fix bug in Advanced x264 option widgets
Modify the test to see if an optName already exists to avoid conflict with similar name patterns in the -X264AdvancedOptionsChanged: method where we test for the presence of the optNameToChange in the existing string.
jbrjake [Tue, 15 May 2007 19:11:17 +0000 (19:11 +0000)]
MacGui: x264 options widget for motion estimation. This is the first widget to use strings for values instead of numbers, so it's a little wonky. Right now, if you don't have a motion est. value specified, but you do have another option with "me" in the name (like "subME" or "b-fraMEs"), the widget will be unresponsive.
Hopefully I'm not accidentally breaking anything with this commit. Had to revert, update, and rewire some stuff after I tried to commit and realized I'd missed a revision.
jbrjake [Tue, 15 May 2007 16:24:30 +0000 (16:24 +0000)]
MacGui: pretty up the x264 option section of controller.mm by using uniform white space (soft 4-space tabs) and adding a few carriage returns in clutch places for human legibility.
jbrjake [Wed, 9 May 2007 21:41:13 +0000 (21:41 +0000)]
Removes thread limitation for iPod encoding. With x264's new-ish sliceless threading method, there is no longer any need, if there ever was, of keeping the video to 1 slice. This should significantly speed up iPod encodes and shut up the people claiming HB can't use more than 70% of a processor.
dynaflash [Wed, 9 May 2007 17:31:31 +0000 (17:31 +0000)]
MacGui: Advanced Tab only shows x264 opt widgets when x264 is selected as the codec. Otherwise, displays a message to that effect.
- Put the x264 options in a custom NSView which hides it and its contents unless x264 is selected
- add field at the top to show the status of the Advanced Tabs contents which is triggered in the - CodecsPopUpChanged method.
dynaflash [Wed, 9 May 2007 15:05:26 +0000 (15:05 +0000)]
MacGui: Main Window Layout Change
- Moved the Codecs popup from below Format to the right of Format. They are now on one line.
- Expanded the height of the NSTabView to allow for more controls in each tab
jbrjake [Wed, 9 May 2007 00:37:49 +0000 (00:37 +0000)]
MacGui: rearranges the x264 option widgets in preparation for adding more, and gives them tool tips so they're a little more accessible to the average user. Oh yeah, and instead of "Unspecified" I've hard-coded in for display what the default option values are.
dynaflash [Tue, 8 May 2007 17:16:20 +0000 (17:16 +0000)]
macGui: Advanced Tab - Initial Implementation
- add gui "widgets" to control the x264 advanced option string.
- Not all options are "widgetized" yet.
- Modifies those it has widgets for, leaves the rest of the string intact.
- This rev, only sets opts that have an integer value.
- Adding widgets requires adding values to controller.h as well as these methods in controller.mm:
-X264AdvancedOptionsSet: adds the actual values for the given outlet in the nib
-X264AdvancedOptionsStandardizeOptNames: standardizes the opt names that have multiple connotations
-X264AdvancedOptionsSetCurrentSettings: Reads and sets the widgets according to the current string whether pasted in by user, set by preset, or set by field in preferences
-X264AdvancedOptionsChanged: Changes the string based on the widget used, including "Unspecified" which just removes it from the string altogether.
maurj [Sun, 6 May 2007 21:32:01 +0000 (21:32 +0000)]
Updated the input channel layouts to store the source LFE information as well as the non-LFE layout. This is so muxavi.c can output the correct channel count for AC3 passthru for all AC3 sources. Updated Controller.mm, scan.c and work.c to use these revised layouts.
Added a new property to the work object, to remember the source audio codec for audio work objects. This enables encfaac to detect an 6-channel AC3 source to apply the QuickTime 6-channel audio mapping (as opposed to a DTS source, which doesn't need it).
Fixed the Dolby Pro Logic I/II downmix mappings in libdca and updated the libdca patch. Uploaded a new set of pre-built darwin contribs (0014) with this patch applied.
maurj [Fri, 4 May 2007 20:25:54 +0000 (20:25 +0000)]
Updated do_job() in work.c to remove any non-AC3 audio tracks from the job before performing AC3 passthru. This prevents Bad Things from happening when a DTS, MPEG2 or LPCM audio track is selected and AC3 passthru to AVI is selected.
maurj [Fri, 4 May 2007 20:06:33 +0000 (20:06 +0000)]
Reverted the rev567 "configure" change, as of course you don't need to run configure if you're just doing a make, so my change was inaccurate. So, this reverts back to the rev566 version of configure, albeit with the "MediaFork" reference changed to "HandBrake".
maurj [Fri, 4 May 2007 20:02:03 +0000 (20:02 +0000)]
Changed a few "MediaFork" references in the textfile docs to say "HandBrake" instead. Amended the "configure" success output to recommend "make" over "jam" for Mac OS X builds, as this is a better option for the average SVN checkout user now that the UB precompiled contribs system is working well.
maurj [Fri, 4 May 2007 19:53:10 +0000 (19:53 +0000)]
Updated BUILD to include information about the updated version of libtool, autoconf and automake needed to jam libdca on Mac OS X. Updated AUTHORS to give me credit for the DTS integration, and updated CREDITS to give credit to the libdca authors.
maurj [Fri, 4 May 2007 17:23:47 +0000 (17:23 +0000)]
Enabled DTS channel mixdowns by moving to a more generic input channel layout set of constants. Updated Controller.mm to use these generic input layout constants when deciding which mixdowns to offer.
jbrjake [Wed, 2 May 2007 23:26:18 +0000 (23:26 +0000)]
Tells x264 to use threads=cpus*1.5 instead of threads=cpus. This is because x264 implemented sliceless threading since we last updated the revision we use. The codec now works best with more threads than processors, as odd as that seems at first blush.
jbrjake [Wed, 2 May 2007 16:58:15 +0000 (16:58 +0000)]
Updates x264 from r604 to r654, giving HandBrake sliceless threading, among other things. Updates the MacIntel patch to continue working (needs testing), comments out the Linux patch since it seems all its changes have been merged into the x264 source (needs testing). New Mac and Cygwin contrib binary packs will have to be made.
maurj [Wed, 2 May 2007 15:56:39 +0000 (15:56 +0000)]
Added support for DTS audio. DTS audio streams (of 5.1 audio and below) will be detected and decoded. This requires a new library - libdca (and patch) - which is included (in patched form) in a new version of the pre-built UB Darwin contribs (0012). These have been uploaded to download.m0k.org/handbrake/contrib/ .
I haven't yet added any code to Controller.mm to recognise the DTS streams as supporting mono / 6ch DPL1 / DPL2 downmixes.
Note: running Jam on the new library required me to update some tools on Mac OS X - possibly libtool, autoconf, automake. Not sure which made the difference, but these were the ones I updated. it won't jam successfully without this.
macGui: x264 Advanced preset strings, if user has specified a default string in prefs, it is used and the most recent one (whether manually entered or from a preset) is not used.
-Built in presets now use all values in their dictionary to make the .plist more compatible for export to the CLI
MacGui: Advanced Tab initial implementation
- Sets groundwork for more robust x264 advanced options implementation
- currently strings are displayed and editable via textfield for x264 encodes
- for right now, the x264 string from preferences is ignored, need to figure out best way to implement that string.
- New Preset now takes the value from that field in advanced, negating the need for the field in "Add new Preset" window.
- NOTE: this also implements the new "Use Picture Settings" in presets to allow for "None", Use Current","Use Max from source".
macGui: Growl Support initial implementation
- include Growl.framework in xcode project
- Growl notify when encode is done
- fix cancelled encode finished bug
- may want a user pref to let them select if they want a notification and what type, on screen or grow. or both
- right now, its both.
macGui: Encode Done Notification initial implementation
- System alert sound as well as an NSAlert window to notify the user their encode is completed.
- No dock icon bounce yet.