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
jbrjake [Sun, 9 Dec 2007 16:56:07 +0000 (16:56 +0000)]
MacGui: cosmetic changes for the advanced x264opts controller source code. Replaces hard tabs with soft, clears up some issues with over-indentation. The file's still a total mess, of course.
jbrjake [Sat, 8 Dec 2007 21:43:00 +0000 (21:43 +0000)]
Adds a preset for the 360, accounts for filters in the presets, updates manicure.rb formatting, removes from the presets the keyint stuff that's now handled in encx264.c, and slightly tweaks the x264 options of a few presets. Also, Animation and Television now use slower deinterlacing, and the latter uses weak denoising as well. Not sure why the @tv preset used trellis=2, brought that down to 1.
jbrjake [Sat, 8 Dec 2007 18:15:38 +0000 (18:15 +0000)]
Adds extra, user-selectable dynamic range compression to the liba52 interface, making softer sounds louder. Based on code from liba52's A52Decoder, used in Perian's preferences pane. Set with a job->dynamic_range_compression float, with valid values being 1.0 - 4.0.
Controlled from the CLI with --dynamic-range-compression or -D.
dynaflash [Fri, 7 Dec 2007 18:26:08 +0000 (18:26 +0000)]
MacGui: fix issue in which picture settings filters in presets would'nt set to "off" if the preset didnt have the key for that filter.
- If a filter is not detected in the preset, the preset will assume it should be set to Off or None as the case may be.
sr55 [Fri, 7 Dec 2007 12:58:43 +0000 (12:58 +0000)]
WinGui:
- Update check on start-up moved onto a separate thread. Start-up should now be significantly faster. It will no longer stall if the server is slow responding.
- Sparkle style Updater now appears on start-up if an update exists rather than just a text label.
- Main form frmMain has been re-arranged slightly. Resolution boxes and Aspect ratio have been moved onto the picture settings tab. (Allows for more space on the tabbed portion of the window. Audio Tab has been re-arranged.
- Picture cropping text boxes have been changed to numeric boxes.
- Support for 2nd Audio track has been added.
- Support for Forced Subtitles has been added.
sr55 [Thu, 6 Dec 2007 14:14:25 +0000 (14:14 +0000)]
WinGui:
- Fixed bug in Query Parser in relation to Titles (Error when 1 was set to auto)
- Added Batch Script creation option on the Queue.
- Added Toolbar to the queue (similar to the MacGui) and removed some old style buttons that are now on the toolbar.
dynaflash [Wed, 5 Dec 2007 17:08:32 +0000 (17:08 +0000)]
MacGui: Built-In Presets moved to new class: HBPresets
- Built In Presets are now created and defined in the methods in HBPresets.h and HBPresets.m
- May move other preset methods here in the future as well.
- Updated Jamfile as appropriate
dynaflash [Tue, 4 Dec 2007 17:06:56 +0000 (17:06 +0000)]
MacGui: Scanning progress bar now shows as indeterminate (barber pole) as for some reason its progress is not reported since moving to leopard.
- Also added a new scanning message right when we call hb_scan for quicker feedback, especially when opening a new source while encoding another one.
dynaflash [Mon, 3 Dec 2007 19:23:08 +0000 (19:23 +0000)]
MacGui: Increase size of main window by 200 px wide and 50 px high.
- This should offer more room as we desperately need it.
- Should still offer compatibility with 1280 x 1024 display with the presets drawer open and a dock on either the bottom or side
- Also added more granularity to the Constant Quality slider, now can choose any whole percentage instead of just even.