summaryrefslogtreecommitdiffstats
path: root/macosx/Controller.h
Commit message (Collapse)AuthorAgeFilesLines
* MacGUI: Refactor HBPreviewController. Rename the actual class to ↵ritsuka2013-11-041-1/+1
| | | | | | HBPreviewController, and move the image and video creation code to a separate HBPreviewGenerator class. Update the preview duration list as Rodeo suggested. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5874 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: refactor PictureController. kill a bit of dead code (~500 lines), ↵ritsuka2013-11-021-3/+2
| | | | | | switch some ivars to properties, hide the private methods and rework the deinterlace logic. Plus UI alignment. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5869 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: Varius warnings fixes:ritsuka2013-10-251-11/+11
| | | | | | | | | | - NSUInteger and NSInteger instead of int (where the Cocoa 64bit api uses them). - Cast to int when needed because NSInteger on 64bit is defined as long. - NSURL instead of NSString when possible. - Replaced some deprecated methods/functions. - numberWithInteger instead of numberWithInt. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5854 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: use FSEvent api to create a FSEventStream to keep track of when a ↵ritsuka2013-08-191-0/+4
| | | | | | | | file inside the Queue folder is update. Move Queue.plist inside a folder because FSEvent can only track changes at folder level, so we have a folder with just a file inside. Whenever something happens inside the Queue folder, HandBrake reload Queue.plist. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5720 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: simplify queue display code.Rodeo2013-04-121-0/+1
| | | | | | | | | | | | | Add detailed summaries to the queue item dictionary and use them in HBQueueController. This helps remove a lot of duplicate logic. Uses existing methods pictureSettingsSummary, pictureFiltersSummary and new muxerOptionsSummary. Also add a few height rows for long lines that often wrap to a second row. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5398 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: main and queue window improvements.Rodeo2013-04-121-6/+7
| | | | | | | | | | | | | | | | Merge fPictureSizeField and fPictureCroppingField into fPictureSettingsField (fits on a single line). Rename fVideoFiltersField to fPictureFiltersField. Move the two text fields closer to each other now that there is more room. Also align their contents using tabs. This should look better overall. Add pictureSettingsSummary and pictureFiltersSummary to generate the text summaries used in the fields above. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5395 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: rename a variable.Rodeo2013-04-121-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5393 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Add missing tooltips . Align and fix issues.dynaflash2013-01-271-1/+3
| | | | | | | - Patch by sanmarcos … Thanks! - Detail addressed here https://reviews.handbrake.fr/reviewboard.fcgi/r/423/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5214 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: retain the current storage width and height and use it when ↵Rodeo2013-01-161-0/+2
| | | | | | | | | | unparsing the x264 options. This is done in calculatePictureSizing as it is called whenever width or height change. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5175 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fAudioFallbackPopUp should be an NSPopUpButton.Rodeo2013-01-061-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5164 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fX264MediumPresetIndex is an index, not a pointer.Rodeo2013-01-061-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5163 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: add getters and setter for x264 preset system.Rodeo2013-01-031-8/+18
| | | | | | | | | | Simplifies code and makes it more readable. Also more refactoring, more bugfixes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5135 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fix memory leak, more refactoring, bugfixes.Rodeo2013-01-021-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5132 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: more refactoring, bugfixes.Rodeo2013-01-021-1/+0
| | | | | | | | Apologies if anything breaks. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5131 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fix fx264UseAdvancedOptionsCheck (hopefully).Rodeo2013-01-021-2/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5130 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: code refactoring (x264 preset system).Rodeo2013-01-021-1/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5129 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Initial x264 presets implementation.dynaflash2013-01-011-0/+28
| | | | | | | | | - Note: HB Built-ins are not updated as needs more testing - Backwards compatible afaik for older presets including custom. - Queue Item editing function needs to be updated yet. - Preset import/ export will probably need work as well especially since some kvp's seem to still be up in the air. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5126 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: miscellaneous cosmetics and consistency adjustments.Rodeo2012-09-221-5/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4974 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Add the drag & drop features on both DockIcon and Handbrake Main WindowRodeo2012-09-211-1/+8
| | | | | | | | | | | - Patch courtesy of Jerome Lacube. Thanks Jerome! - It handles dragging & dropping one file, and folders. -- Please note that when dropping a folder, the files inside will be treated as titles. - Specifics can be found here https://reviews.handbrake.fr/r/345/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4973 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: New dock icon progess behavior with percent & ETA "badges".dynaflash2012-09-151-0/+7
| | | | | | | - Patch by Jerome Lacube Thanks !! - Details can be found here https://reviews.handbrake.fr/r/344/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4964 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: add Auto Passthru support.Rodeo2012-01-241-1/+11
| | | | | | | | | | 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
* MacGui: Behold that which is hidden ... Batch Queueing Support.dynaflash2011-09-021-0/+8
| | | | | | | | | | | | - Add batch queueing support to the macgui. - Currently accessed under File > Add All Titles To Queue - No toolbar button yet since it needs to soak for a while and needs refinement. - Applies all current settings to all titles. - Best used with batch scanning flat files. - Works with a dvd scan where the dvd titles are in the title structure ... but not recommended. - Use at your own peril! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4201 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Add -selectedPreset helper methoddynaflash2011-05-261-2/+4
| | | | | | | | - Patch once again by blindjimmy.. thanks! - This change consolidates all the calls in Controller.m of [fPresetsOutlineView itemAtRow:[fPresetsOutlineView selectedRow]] to get the currently selected preset to use a new -selectedPreset accessor method. This is both easier to read and is better decomposition. - as per https://reviews.handbrake.fr/r/85/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4003 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Fix some compile time warnings.dynaflash2011-05-261-1/+0
| | | | | | | - patch by blindjimmy, thanks! - as per https://reviews.handbrake.fr/r/99/ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4001 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Don't assign nil to ints (duh)dynaflash2011-05-191-1/+0
| | | | | | | - As per https://reviews.handbrake.fr/r/88/ - Patch by blindjimmy, once again thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3985 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: implement Frame Rate Mode as per the Lingui.dynaflash2011-04-151-1/+7
| | | | | | | - Removes the current Peak Framerate checkbox and replaces it with appropriate Radio Buttons depending on if Same as Source or a specific framerate is chosen in the Frame Rate popup widget. - Gets the macgui up to speed with https://trac.handbrake.fr/changeset/3770 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3930 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Remove Target Size as a rate control option as it doesn't really ↵dynaflash2011-03-011-2/+0
| | | | | | | | | | | work correctly and should die an overdue death. - Also rearranged the video quality layout a bit. - Moved Constant Quality above Average Bitrate - Moved the entire Video Quality matrix down below frame rate where it belongs. - Presets are mapped accordingly internally in the macgui code so that they are unchanged across platforms. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3823 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Audio Fixes and Enhancements ... patch by circleone.dynaflash2010-09-201-2/+1
| | | | | | | | | | | | | Fixes issue where changing to custom from a preset then changing titles will cause an empty audio tab. Also: - Added the ability for HandBrake's language preference to be honored when it occurs in the title's tracks. - Ensured the limit (currently 24) is not passed when adding audios using presets. - If no preset is chosen, when a new title loads, one track is added (based on the language preference or the first if that is not met). - Reinitializing the audio array is now KVO-friendly, making the UI refresh more pleasant. - The "Add All Tracks" button has been made mini in size. - The audio table view no longer attempts to keep the selection. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3549 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Audio ... Add an "Add All Tracks" button to the audio tab.dynaflash2010-09-161-0/+3
| | | | | | | - Patch by circleone... Thanks again! - Adds all available source tracks at the default mixdown etc. to the macgui in one click. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3536 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Audio ... Allow more than 4 audio tracks.dynaflash2010-09-151-64/+11
| | | | | | | | | | | | | | - Patch courtesy of circleone ... Thanks! - Use a NSTableView to dynamically add/delete audio tracks ala the Subtitle tab. - Sets a 24 track limit until someone tests more than 24 tracks (the libhb 8 track limit was removed as per http://trac.handbrake.fr/changeset/3531). - Replaces the old static 4 tracks to a dynamic array. - Moves macgui audio handling to a separate class. Known caveats: - Borks queue editing which needs a revamp anyway. - Queue window display needs to be adjusted to show more than 4 tracks appropriately. Again, its cosmetic and is not a show stopper. - There may be other possible unknown side effects even though tested on all presets. That said, I feel it needs to get in so that we can get feedback from nightlies. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3532 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Store live previews in a sub directory in "~/Library/Application ↵dynaflash2010-08-061-1/+1
| | | | | | | | | | Support/HandBrake/Previews" named by pidnum. - Allows multi-instances to encode live previews without overwriting the live preview for any other instance (since previously we assumed single instance so there was just one live preview file for each container. - Clean up of the previews directory when a single instance is laucnhed to make sure we do not build up a pile of old previews. - Removed old code for live previews which handled the deprecated avi and ogm containers. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3472 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Remove unused method declaration.dynaflash2010-08-021-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3467 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Fix how we get the current instances pid number since ↵dynaflash2010-07-191-2/+2
| | | | | | | | | | NSRunningApplication is a 10.6 only api and therefore breaks 10.5 compatibility (which also borked the nightly build). - Many thanks to ritsuka for pointing this out. - Also adds ability to get the full path to each running instance if we need it in the future. - Note: Adds additional logging to hbInstances which can be removed when we see fit. But for now imho could be useful since we are early in multi-instance queue encoding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3450 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Initial implementation of new queue sync code which allows ↵dynaflash2010-07-171-2/+5
| | | | | | | | | | | | | | | | | | multi-instance encoding. This allows more than one instances of HandBrake.app to run off of the same queue file. In the case of multi-instance use these changes occur in the queue window: - The delete icon for a given queue item does not exist in the queue window if another instance is doing the encoding. - The encoding icon does not spin if another instance is doing the encoding. - As before if the queue window is for the instance doing the encoding on that item it will be animated and "spins". - The queue window status readout now also includes the output file name for the file being encoded for that instance. Known bugs: - Drag and Drop queue reordering is somwehat borked. Doesn't corrupt queue but can not allow a drop in some instances. - I have tested this over 20 multi instance encodes and not once had an issue, but anytime more than one instance is writing to the same external file anything can happen. Beware! - The session activity log will of course be full of activity log info from all instances in a multi instance scenario. Individual encode logs are unaffected. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3443 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Presets - Add abliity to modify width and height on a preset ↵dynaflash2010-06-281-0/+5
| | | | | | | | | | | independent of the currently loaded settings via repurposing the old "Current" picture size setting in the add new preset dialogue. - Changes "Current" to "Custom". - When Custom is selected two text fields for width and height appear, initially populated with the current picture settings which means that if not changed will behave as old "Current" settings used to. - Editable fields means the preset can be save to pic dimensions other than what is setup for the current encode setup. - For example you can have a dvd loaded up and then save a preset using say 1280 x 720 as max dims, even though the currently loaded source would not have allowed that before. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3419 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Peak Framerate initial implementationdynaflash2010-06-181-0/+2
| | | | | | | | - Adds a checkbox below the fps drop down to allow selecting pfr as long as Same as Source is not selected. - Checkbox is shows and hides based on the fps dropdown. - Uses job->cfr = 2 instead of 1 to enable libhb's pfr mode. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3390 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Chapter Title import/export functionalitydynaflash2010-05-061-2/+11
| | | | | | | | | - Saves the chapter list to a .csv file which is compatible with the cli and wingui. - Note: comma's in the chapter name are escaped with a "\" to maintain cli compatibility then if necessary stripped upon re import into macgui. - Original patch by borgclone and added to by realityking. Thanks! - Feature development referenced here http://forum.handbrake.fr/viewtopic.php?f=4&t=4146&start=0 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3285 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Queued item editing initial implementation.dynaflash2010-01-211-2/+8
| | | | | | | | | - Sends a chosen queued item back to the main window for reload ( and rescan ) via contextual menu (right click) - Deletes queued item from queue after being reloaded to main window ( after editing or whatever, send back to queue via Add To Queue Button same as a new source). - New queue window contextual menu also includes delete and show options previously only available via separate icons. - Note: Needs testing particularly in the subtitle area, which is not to say there aren't other bugs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3080 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Interface changes to allow pts or frame based point to point ↵dynaflash2009-12-231-1/+15
| | | | | | encoding on top of our existing chapters based encoding. ... Based upon jstebbins most excellent work. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3042 b64f7644-9d1e-0410-96f1-a4d463321fa5
* batch file scanning and scan canceljstebbins2009-11-251-0/+3
| | | | | | | | | | When a directory is specified as the source, first we attempt to open as a dvd, then if that fails, we attempt to open each file in the directory as a stream source. Since opening a large directory of files can take a really long time, you can also now cancel a scan. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2980 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: srt subtitle support initial implementationdynaflash2009-07-161-1/+5
| | | | | | | | | - Allows adding an external srt sub file as a subtitle source. -- Adds fields for srt language, char code and offset in ms. - Known issues: adding the srt file to the sources list also adds a new subtitle track for that source, however to "set" it you have to click on it. - srt subtitles do not seem to work in preview even if set to default. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2699 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: added 64-bit savvy application icon.konablend2009-06-171-0/+3
| | | | | | | | - icon is chosen based on compile-time architecture: HandBrake.icns or HandBrake-64.icns - added action for MainMenu->About to call Controller.showAboutPanel as the default about panel needs dictionary override to force icon. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2547 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Multiple subtitle tracks initial implementationdynaflash2009-06-131-2/+13
| | | | | | | | | | | | | | | | | | | | | - Subtitles now get their own tab - "None" track is an empty track, add a new subtitle track by switching it to a valid source track. - First track allows for "Foreign Language Search" which replaces the old "Auto Select". - Remove a previously selected track by setting it back to "None" - Sanity Checks: -- Allow only one Burned In track. -- Text tracks do not allow burned in to be set. -- MP4 specific: --- Allow only one VobSub and force burned in to be set. ---- Trying to set more than one vobsub in mp4 results in a warning, and the first vobsub track is retained. - Presets: Currently subtitles are not recorded into presets (which they never have been). - Live Preview: -- Foreign Language Search is borked for live preview, so is ignored -- Burned in subtitles work for both mp4 and mkv -- Text subtitles work for mp4 if set to default (preview has no way to turn soft subs on/off) -- Text subtitles do not show up in preview window even if checked as default. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2530 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Preset Import / Export initial implementation and auto updating of ↵dynaflash2009-05-081-1/+10
| | | | | | | | | | | | | | | | | | | built in presets. - Preset Import / Export: -- Export is only available to custom user presets. -- Export is only the selected preset at this time. -- Exported presets will be tagged with their build number. -- Import of mutiple presets. --- Compatible with LinGui presets. --- NOT compatible with WinGui presets at this time. - Built-In preset auto-updating: -- Adds the key/value pair to the UserPresets.plist file for key "PresetBuildNumber". -- If the HandBrake.app build number as defined in the Info.plist key "CFBundleVersion" is > the built in presets "PresetBuildNumber" then the - (IBAction)addFactoryPresets:(id)sender is called to automagically update the built in presets. -- An alert window is shown along with a system beep ( can be turned off in Preferences -> Advanced for svn mavens and devs) to tell the user that the built in presets are going to be updated. -- NOTE: First launch of this build will initiate a built in preset update even though the built in presets are the same, since the build number will be added to the built in presets. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2405 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add libdvdnav supportjstebbins2009-04-271-0/+6
| | | | | | | | | | | emulates the vm of a dvd player in order to navigate the disc more reliably it is optional and disabled by default CLI option '--dvdnav' enables. GUI's have a new option in preferences. When dvdnav is enabled, you can also select angles (cli '--angle') git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2355 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: When launching a second instance of HB, warn of existing instance ↵dynaflash2009-03-161-0/+2
| | | | | | | | and do not alter the existing queue. - Note: this does not mean multi-instance encoding off of one queue file works. For now its just better than messing up the first instances queue. Also useful for ui developing on one instance sans encoding while actually encoding with another instance. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2261 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Put Picture Settings and Video Filters into one inspector.dynaflash2009-03-051-5/+1
| | | | | | | | - Separated in a tab view - Move methods from PictureFilterController into PictureController - NOTE: This layout, etc is not final as far as detail by any means, however ... did not want to get too far out from svn due to the mods to xcode and the current development of the build system. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2226 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: ritsuka2009-03-021-1/+1
| | | | | | | | - Switched some float to CGFloat and int to NSInteger. - Fixed a warning in writeToActivityLog: when compiling with gcc-4.2 - Fixed an issue when dragging items in the queue if the item was not already selected. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2199 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui:ritsuka2009-03-021-0/+2
| | | | | | | | - Limited the handbrake dock icon refresh to a maximum of 20 for encode. It was a bit pointless to update it two times a second. - Another try at fixing the main window progress indicator. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2196 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui; fixed warnings related to 64bit cocoa.ritsuka2009-03-011-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2183 b64f7644-9d1e-0410-96f1-a4d463321fa5