jbrjake [Fri, 18 Jan 2008 20:21:03 +0000 (20:21 +0000)]
Use IS0 639-2/T language codes instead of ISO 639-2/B language codes because QuickTime is a whiny little PITA too simple-minded to handle the concept of synonymous terms.
Should fix any issues with audio tracks showing up with "Undetermined" language in QT/iTunes/iPod.
dynaflash [Thu, 17 Jan 2008 15:15:42 +0000 (15:15 +0000)]
MacGui: Remove the /macosx/localize.sh file from the make build process as it was messing up the sparkle updater and in the future we want to localize the nibs the correct way anyway so its not needed.
dynaflash [Wed, 16 Jan 2008 17:50:50 +0000 (17:50 +0000)]
MacGui: Sparkle Updater initial implementation
- Changed the call to hb_init to use "0" instead of the old check for updates at launch boolean value from the preferences
- Added Sparkle.framework to the xcode project
- Added "Check for updates..." menu item in the file menu
- Check for updates at launch in the preferences window now binds to SUCheckAtStartup in Shared User Defaults
- Macgui now checks for updates against our appcast at handbrake.fr/appcast.xml (this is specified in /macosx/HandBrake.plist as the value for the "SUFeedURL" which is added now.
- To check for update Sparkle compares the number in the "CFBundleVersion" (which is our build number) against the "sparkle:version="xxx"" in the enclosure tag in the appcast to trigger an update alert
- TO TEST: Change the CFBundleVersion in /macosx/HandBrake.plist to < 10101 (the dummy sparkle:version in the appcast right now) and build, upon launch you should get alerted of a new version available
- NOTE: The entire Sparkle.framework directory is added to the svn in this commit. Its 2.4 mb, though it looks like some things (particularly a ton of localized nibs) could be removed to slim it down quite a bit. As its the initial implementation and I know its tested I am committing the whole thing for this rev.
sr55 [Wed, 16 Jan 2008 16:17:37 +0000 (16:17 +0000)]
WinGui:
- Tested and fixed a few issues with the appcast updater.
- Fixed a small issue where dropdowns wouldn't have a default value on startup if presets.dat was missing and user defaults was turned off.
- Disabled loose anamorphic for ffmpeg and xvid encodes.
- Added a useful error message to the presets bar when presets.dat is missing.
jbrjake [Tue, 15 Jan 2008 20:04:42 +0000 (20:04 +0000)]
Make makes its glorious comeback -- you're stuck in a jam no more! Mac OS X Contrib Binary Pack ++ to 0021. There are a bunch of weird symbol errors like 'ranlib: for architecture: ppc file: lib/libxvidcore.a(timer.o) has no symbols
' but everything seems to work okay with the components throwing the errors...
jbrjake [Tue, 15 Jan 2008 14:58:08 +0000 (14:58 +0000)]
Applies an experimental patch to x264 allowing VBV contraints on ABR in 2-pass mode. Also disables the adaptive quantization patch for the time being, in anticipation of a stable AQ v4.
jbrjake [Mon, 14 Jan 2008 17:52:28 +0000 (17:52 +0000)]
Use weightb=0 for turbo 1st pass x264 options. This prevents frame count discrepancies between passes that can lead to a crash at the end of the 2nd pass.
dynaflash [Sun, 13 Jan 2008 15:04:52 +0000 (15:04 +0000)]
Macgui: Remove now defunct PictureGLView .h and .mm as they are no longer necessary since switching to NSImageView.
- Effectively completes the removal of "Useless OpenGL Effects" from Picture Preview.
dynaflash [Sat, 12 Jan 2008 22:45:15 +0000 (22:45 +0000)]
MacGui: Switch PicturePreview to use NSImageView instead of the openGL view.
- thanks travistex
- uses a new method makeImageForPicture which gets the previews into an NS image.
sr55 [Wed, 9 Jan 2008 20:02:18 +0000 (20:02 +0000)]
WinGui:
- Added an Activity window which can view a verbose log from the CLI after an encode has completed. (it would be nice if someone could find a way of making this live!)
- The main GUI window now has an icon based toolbar similar to the macGUI instead of having standard buttons along the bottom for Encode and Queue.
- Some of the controls on the Options panel have had transparent backgrounds added so they don't look out of place on theme'd computers.
dynaflash [Wed, 9 Jan 2008 14:46:52 +0000 (14:46 +0000)]
MacGui: Add some activity log messages pertaining to source scan selection
- Add message telling if user tried to open a physical dvd, reports the volume name instead of path (like hb_scan does now). This should help us with support as it tells us from the log what commercial dvd the user is trying to scan directly in most cases.
- Add message to tell us which title the user chose to scan for a title specific scan
- Cosmetic changes: changed messages and macgui leader to all lowercase to blend in better with the rest of the libhb messages
dynaflash [Wed, 9 Jan 2008 05:45:36 +0000 (05:45 +0000)]
MacGui: Add preset name used (or custom) to the queue and activity log
- Courtesy of travistex
- Uses "Custom" if the settings do not reflect a preset
- Changed some names of functions in HBQueueController and added some comments
- The main controller now notifies the queue controller whenever jobs are added to libhb. This allows the queue to find out about such jobs without having to query libhb's job list periodically.
dynaflash [Tue, 8 Jan 2008 18:43:31 +0000 (18:43 +0000)]
MacGui: establish the source display name in browseSourcesDone instead of showNewScan to alleviate using the same logic twice depending on source type
- Also adds the ability to scan .dvdmedia packages
- Also changes the xcode project to not report xib messages during building, which previously filled the screen with remedial alignment messages, etc.
- .xib warnings and errors are still reported
dynaflash [Tue, 8 Jan 2008 18:05:30 +0000 (18:05 +0000)]
MacGui: modify writeToActivityLog to use vargs
- thanks travistex
- can now accept input like: [self writeToActivityLog: "trying to open a package at: %s", [path UTF8String]];
dynaflash [Tue, 8 Jan 2008 15:43:09 +0000 (15:43 +0000)]
MacGui: HandBrake.app xib nib conversion
- All nibs in the HandBrake target are now .xib file format
- Will only build with IB 3 and above, which means HandBrake.app now only build on Leopard
- Changed the "Per-configuration Build Products Path" to be "$(PROJECT_DIR)/.." in order to successfully build - thanks travistex
dynaflash [Tue, 8 Jan 2008 13:58:45 +0000 (13:58 +0000)]
Macgui: Implement writeToActivityLog method with provides a simple way to send messages to the activity window and log much like hb_log including a time stamp.
- example call : [self writeToActivityLog:"trying to open a package"];
dynaflash [Mon, 7 Jan 2008 19:54:42 +0000 (19:54 +0000)]
Macgui: Change to using stderr to write to the activity window from within the gui.
- stdout works, but only when run from within xcode. not when hb is run by itself.
- Duh!
van [Sun, 6 Jan 2008 23:18:42 +0000 (23:18 +0000)]
- figure out MPEG PS duration from stream rather than faking it.
- correct some audio substream id mistakes: substream 2 is for dvd
subtitles (in a vob) not lpcm, substream 10 is lpcm, dts seems
to be a variant of ac3 (8), not its own code.
- incorporate suggestions from eddyg's code review.
sr55 [Sun, 6 Jan 2008 16:33:57 +0000 (16:33 +0000)]
WinGui:
- Fixed: for Auto-naming where it would incorrectly set directory when the user had no default set
- Fixed: A few control's were not set to transparent so showed up incorrectly on themed windows machines.
jbrjake [Sat, 5 Jan 2008 01:26:17 +0000 (01:26 +0000)]
Structural changes:
- Gets rid of global and class variables
- Moves CLI option parsing to its own method
- Moves output display to its own class
- Removes unnecessary temporary hashes
jbrjake [Fri, 4 Jan 2008 18:37:03 +0000 (18:37 +0000)]
Fill in the "Encoded By:" tag in MP4 files with "HandBrake" followed by the version number and build date. Thanks for making me aware that libmp4v2 had an MP4SetMetadataTool() function, realityking.
dynaflash [Thu, 3 Jan 2008 19:11:26 +0000 (19:11 +0000)]
MacGui: Loose Anamorphic initial implementation
- Changes the PAR checkbox to an anamorphic NSPopUp Button with "None", "Strict", and "Loose".
- Sanity checks against the ffmpeg encoder, until that gets fixed.
- removed six unneeded outlets for picture sizing in Controller.mm.
- Previous presets will gracefully degrade to us "Strict" if anamorphic is specified.
- I know about the bug where the picture window changes size on the first width drop when resizing Loose Anamorphic, so dont ask ;)
sr55 [Wed, 2 Jan 2008 16:58:39 +0000 (16:58 +0000)]
WinGui:
- Chapters.csv and dvdinfo.dat are now saved in the windows temporary folder. This should mean the application doesn't need admin rights on Vista. Thanks to "doubt" for the patch.
- Few UI theme tweaks.
dynaflash [Mon, 31 Dec 2007 17:24:09 +0000 (17:24 +0000)]
Macgui: Enable opening up .eyetv packages directly
- check source to see if the chosen file is a package
- if so, checks for the .eyetv extension
- then finds the program stream in the package and opens it.
- gui does not call hb_scan if source is identified as a package, but is not an .eyetv package to avoid scanning errant packages
- very verbose activity log messages from the gui for packages, would likely comment out for release, mostly to verify in testing.
dynaflash [Mon, 31 Dec 2007 17:11:15 +0000 (17:11 +0000)]
Program Stream Enhancements - Van: Libhb
- Thanks Van !
- Identifies program streams by type instead of file extension
- Improves proper duration reporting of program streams
- fixes audio reconvergence code in libhb/sync.c trying to free a null buffer causing a crash
- Assorted other enhancements to encoding program streams.
jbrjake [Fri, 28 Dec 2007 20:02:41 +0000 (20:02 +0000)]
Extends hb_set_anamorphic_size() to make it possible to do "dry-runs"...this way the MacGui can calculate loose anamorphic values for displaying preview images, before the job variables are directly set in work.c.
jbrjake [Fri, 28 Dec 2007 19:48:37 +0000 (19:48 +0000)]
Better b-frame muxing. Instead of using an arbitrarily long offset and then later walking the file to find the smallest one, now x264 uses the smallest delay it can from the start. This significantly cuts down muxing time.
As a side effect, it also makes fixing chapter markers + b-frames easy, so that's included too in muxmp4 (thanks, van!).
jbrjake [Fri, 28 Dec 2007 18:17:24 +0000 (18:17 +0000)]
"Great! Where are we going?"
Prevents sync.c from prematurely ending the encode when its estimated maximum frame count is too low, by doubling that maximum.
Thanks for fixing this long-standing bug, van!
jbrjake [Fri, 28 Dec 2007 18:03:01 +0000 (18:03 +0000)]
Patches mpeg4ip's build script so it doesn't check for libmp4v2 compatibility in the system-level copy of faac, since HandBrak doesn't use that copy of the library. It always trips up Linux users. Thanks, saintdev!
sr55 [Thu, 27 Dec 2007 21:03:40 +0000 (21:03 +0000)]
Updated makefile for cygwin builds
app = download contrib binary package and compile source
all = use Jam to build the source
Works the same way as linux does now.
dynaflash [Wed, 26 Dec 2007 16:26:57 +0000 (16:26 +0000)]
MacGui: Maintain Picture Filters state across sources
- Picture filters no longer reset to their defaults when a new source is chosen (includes vfr as well setEnabled to the fps drop down in the main window).
- Added a new method -setInitialPictureFilters to PictureController.m to setup the filters upon first scan instead of in -SetTitle which reset them every time a new title was accessed.
sr55 [Fri, 21 Dec 2007 17:45:15 +0000 (17:45 +0000)]
WinGui:
- Changed back from Query Window to Query Editor tab by popular demand.
- Fixed a small issue with resolution calculating the height when it shouldn't.
- Removed some old labels from the main window.
dynaflash [Wed, 19 Dec 2007 19:57:44 +0000 (19:57 +0000)]
MacGui: DRC slider modifications
- Use the float value field rounded to 100ths for the actual drc value passed to libhb (previously was using float down to millionths which was obscured from the user by the size of the value field).
- move -audDRCSliderChanged method to where the other audio control methods are in controller.mm
sr55 [Wed, 19 Dec 2007 17:23:54 +0000 (17:23 +0000)]
WinGui:
- Fixed issue where crop dropdown had no value on startup.
- Fixed an Autoname bug where \ was addeded incorrectly.
- Fixed bug where DRC was set incorrectly by preset parser.
- Removed some old code which is no longer going to be used.
- Changed De-Interlace options names to match MacGUI for consistency
- Moved HTTP Optimization to Output Settings for consistency with MacGUI
- Added form to show the generated query. Tools > Options > Show CLI Query
- Added Chapter Markers tab which operates the same was as the MacGUI
jbrjake [Tue, 18 Dec 2007 20:08:12 +0000 (20:08 +0000)]
Renumber start and stop timestamps for VFR, so they are continuous despite dropped frames.
This fixes issues with jerky video when using VFR together with B-frames.
dynaflash [Mon, 17 Dec 2007 16:25:38 +0000 (16:25 +0000)]
MacGui: Queue Update - thanks travistex
- The primary change is that HBJob now copies the relevant fields out of hb_job_s that it needs. It no longer keeps a pointer reference to libhb's job.
- The only time the queue looks at libhb's jobs is when scanning the job list in order to build of the GUI queue display.
- Removed all uses of hb_current_job().
- Canceled jobs now stay listed in the queue, with a canceled icon.
sr55 [Fri, 14 Dec 2007 16:51:42 +0000 (16:51 +0000)]
WinGui:
- Removed some old CLI handler files that were never completed.
- Removed Quickstart Window along with some redundant code.
- Removed the Query Editor tab as it is no longer really needed.
- Removed CRF option as this is now the default.
- Removed DRC Checkbox. The slider is now used for activation.
- Few changes to the Naming of GUI items to match the MacGUI.
- Warnings about no source / destination removed from Save/open presets and set default options. Will only appear on Queue and Encode buttons now.
- Fixed autonaming issue where it was enabled even when it was disabled.
- Added option to the Tools menu to display the current CLI query. This may be useful now that the Query editor tab is gone.
- Options window design tweaked.
dynaflash [Fri, 14 Dec 2007 16:19:46 +0000 (16:19 +0000)]
MacGui: HTTP optimized mp4 implementation
- New checkbox to enable http optimized mp4's
- Shows/Hides depending on the "format" selection
- Presets use new objectForKey:@"Mp4HttpOptimize"
- Also renamed the outlet for 64 bit mp4's to more descriptive "fDstMp4LargeFileCheck"
dynaflash [Thu, 13 Dec 2007 16:26:40 +0000 (16:26 +0000)]
MacGui: DRC Slider Enhancements
- Add some description to the slider settings to help users
- 1.0 (Off) 2.0 (Loud) 3.0 (Louder) 4.0 (Loudest)
- Also changed slider so tickmarks are on the bottom and tickmarks are only shown for each .50
jbrjake [Thu, 13 Dec 2007 15:24:42 +0000 (15:24 +0000)]
Only call the dynamic range compression function when the user-inputted value is greater than 1, rather than non-zero. This prevents calling the function when it's only going to return the default values anyway.
jbrjake [Thu, 13 Dec 2007 14:20:17 +0000 (14:20 +0000)]
MPEG-2 stream reading fixes for missing audio, multiple audio tracks, language codes, reading streams larger than 2GB, and incorrect title numbers. This vastly expands HandBrake's TS/PS compatibility. Thanks, van!
jbrjake [Thu, 13 Dec 2007 02:29:29 +0000 (02:29 +0000)]
CLI: Makes CRF (constant rate factor) the default constant quality mode, instead of CQP (constant quantization parameter). This means the -Q short option now turns CQP on and CRF off, whereas up until now it did the reverse. The long option has accordingly changed from --crf to --cqp.
( CRF has been the default in the MacGui since r526 )
dynaflash [Wed, 12 Dec 2007 18:49:10 +0000 (18:49 +0000)]
MacGui: Presets Drawer improvements
- Get rid of useless NSTabView
- Rearrange NSOutlineView so full size is visible, also make 100 px taller
- Also made changing the drc slider change the Output from the preset name to Custom, like the other controls do.
- Moved -audioDRCSliderChanged from the video controls to the "GUI Controls Changed" section of controller.mm
dynaflash [Wed, 12 Dec 2007 16:05:59 +0000 (16:05 +0000)]
MacGui: Dynamic Range Control implemented in the audio tab of the main window.
- represented by a slider indicating value from 1.0 to 4.0
- Defaults to 1.0
- Granularity of 1/100
- Implemented in presets
- If key for drc is not present, preset will automatically return it to its default of 1.0
dynaflash [Mon, 10 Dec 2007 19:01:04 +0000 (19:01 +0000)]
MacGui: Update Presets to use NSOutlineView and change the associated methods to support the NSOutlineView delegate required methods.
- Change necessary to move to nested presets.
- Layout still to be determined
- Method to actually change the setting for the preset changed from -tableViewSelected to more appropriate -presetSelected in Controller.mm