summaryrefslogtreecommitdiffstats
path: root/macosx/HBPreviewController.m
Commit message (Collapse)AuthorAgeFilesLines
* MacGui: fix preview HUD initial position if the window size is different ↵Damiano Galassi2016-12-241-1/+1
| | | | than the default one.
* MacGui: fix build with 10.12sdk, disable QTKit because is no longer available.Damiano Galassi2016-06-171-0/+4
|
* MacGui: fallback to QTKit if a preview is not playable with AVFoundation.Damiano Galassi2016-05-191-27/+38
|
* MacGui: use AVFoundation as the first option for the preview playback. Add ↵Damiano Galassi2016-05-031-562/+215
| | | | volume and tracks controls to the player hud.
* MacGui: do not stop the preview encoding when the showWindow: is called and ↵Damiano Galassi2016-04-221-1/+3
| | | | the window is already on screen.
* MacGui: do not set the preview window frame origin to a value outside the ↵Damiano Galassi2016-04-091-4/+1
| | | | screen area.
* MacGui: pass the main window undomanager to the preview window.Damiano Galassi2016-01-151-0/+30
|
* MacGui: fix the picture panel not updating correctlyDamiano Galassi2015-10-101-1/+7
|
* MacGui: fix the preview window position between restartDamiano Galassi2015-10-091-1/+19
|
* MacGui: fix the build on Xcode 6.4 for realDamiano Galassi2015-10-081-2/+2
|
* MacGui: move some code out of HBPreviewController.m. Remember the windows ↵Damiano Galassi2015-10-061-350/+160
| | | | size when going back from the Scale To Screen mode
* MacGui: read the actual preview count so we don't try to load a non existing ↵Damiano Galassi2015-09-291-0/+5
| | | | image
* Remove a workaround for the 10.6 sdkgalad872015-08-251-6/+0
|
* MacGui: move the picture and filters settings to the main window.ritsuka2015-07-271-1/+23
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7379 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: remove che previews cache in HBPreviewGenerator when a setting ↵ritsuka2015-05-131-3/+0
| | | | | | changed and not in HBPreviewController git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7173 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: run the Xcode "convert to modern objective-c" on the entire project.ritsuka2015-04-091-5/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7075 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: changed the Preview Window and Picture Panel behaviour to avoid the ↵ritsuka2015-04-071-9/+17
| | | | | | hide and show thing when loading a new title, now they can always be opened even if no title is loaded. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7065 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: clean up the preview controller, and fix the preview not updating ↵ritsuka2015-03-171-29/+26
| | | | | | when a new title is selected. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6998 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: convert the mac gui to Objective-C ARC.ritsuka2015-03-171-32/+14
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6996 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: properly deregister the job observers, and refactor a bit the ↵ritsuka2015-02-041-30/+28
| | | | | | HBAudioTrack notification. Refactored HBPreviewController to take a single HBPreviewGenerator instance in input. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6869 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: add a method to return a CGImageRef for a preview in HBCore, and ↵ritsuka2015-01-261-2/+2
| | | | | | skip the alpha to use less memory. Use a dispatch_source as a timer in HBCore so we will be able to run the update loop on its own thread. Remove the pointer to hb_handle_t, no class outside HBCore uses it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6816 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: enable and fix more compiler warnings in the Xcode project.ritsuka2015-01-191-7/+7
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6772 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: simplify the toolbar/menu validation methods, plus some cosmetics.ritsuka2015-01-141-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6748 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: reorganize createMovieAsyncWithImageIndex:andDuration: method. and ↵ritsuka2015-01-131-4/+5
| | | | | | add an additional check before switching the preview window HUD. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6740 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: remove some unused #import. Move again more things in HBController ↵ritsuka2014-12-231-3/+5
| | | | | | to HBJob. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6644 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: remove the last usage of title->job.ritsuka2014-12-211-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6636 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: integrated HBPicture in HBPictureController and started to move ↵ritsuka2014-12-201-62/+30
| | | | | | things over to HBJob. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6628 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add json APIsjstebbins2014-12-161-6/+6
| | | | | | | | | | There are several changes to job and title structs that break current windows interop code. The interop code should be changed such that it only uses json APIs. So if there is any missing features (or bugs) in these APIs, please let me know. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6602 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: when a live preview is cancelled, wait for libhb to end its work ↵ritsuka2014-09-191-2/+8
| | | | | | before reverting back the hud. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6418 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: fixed the preview controller HUD style on the next OS X release.ritsuka2014-08-221-19/+73
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6347 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: moved two methods used by the whole app to HBUtilities.m:ritsuka2014-07-161-1/+2
| | | | | | | - appSupportPath: - writeToActivityLog: git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6232 b64f7644-9d1e-0410-96f1-a4d463321fa5
* macui/cli/libhb: cleanupjstebbins2014-06-181-3/+3
| | | | | | | | | | | | macui: Simplifies code in Controller.m and fixes a few bugs macui: Fixes "Windows 8 Phone" preset aspect ratio problem macui: round up to next mod boundary when limiting to title dimensions - crop libhb: Eliminates hb_fix_aspect and hb_set_size functions. libhb: Makes hb_validate_size a passthru to hb_set_anamorphic_size cli: eliminage use of hb_validate_size git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6215 b64f7644-9d1e-0410-96f1-a4d463321fa5
* macui: fix PcitureController geometry calculationsjstebbins2014-06-101-70/+24
| | | | | | | | simplifies the code and makes it work better also updates preview window size calculations git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6209 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: Release the cached images when the preview window is closed.ritsuka2013-12-031-1/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5912 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: Refactor HBPreviewController. Rename the actual class to ↵ritsuka2013-11-041-1096/+726
| | | | | | 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-6/+14
| | | | | | 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: Read events from the mouse scroll wheel in HBPreviewController.m to ↵ritsuka2013-08-041-0/+17
| | | | | | change the preview image. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5690 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't expose rate, mixdown, dither and encoder arrays to the UIs.Rodeo2013-05-301-2/+2
| | | | | | | | | | | | | | | | | | | | - 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
* MacGUI: Fix a crash that happens when the Preview window backingScaleFactor ↵ritsuka2013-03-191-1/+2
| | | | | | changes but the title is not set. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5344 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_system_sleep: refactoring.Rodeo2013-03-181-3/+3
| | | | | | | | | | | | Also: - release power assertions before freeing them - actually free the power assertions in hb_close() (previously unused) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5340 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: improve hb_system_sleep support.Rodeo2013-03-181-4/+9
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5338 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Live Preview extend the live preview maximum duration to 240 seconds ↵dynaflash2013-02-191-0/+8
| | | | | | | | ( 4 min.) from the previous 120 seconds ( 2 minutes). - Uses 15 second incremements as previous. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5258 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: add a missing else statement. Don't pass key event down the response ↵ritsuka2013-02-041-3/+4
| | | | | | chain after we handled it it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5237 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: make the control box in preview window 10 px larger to avoid ↵ritsuka2013-02-011-2/+17
| | | | | | splitting text on two lines, and expand the keyboard control to the still images. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5232 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: Reworked a bit of HBPreviewController, the main differences are:ritsuka2013-02-011-625/+373
| | | | | | | | | | | | | - CALayer instead of NSImageView, we don't need to center the layer manually, plus a lot of free animations. - Reworked the scale to screen code, now it resize the window to the max size and then resize the picture layer, a bit simpler then before but the previous code had a weird issue were the window increased in size each time the slider changed until the control box was outside the window. - Fixed an issue where the preview window would be unusable if it was closed while it was encoding a preview. - Added a fEncodeState int to keep track of the encoding status like in HBController. - Removed some unused code and variables. - The preview images are no longer 4px smaller than the said size. - Added some nice image to the player controller. - keyboard controls for the movie player. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5230 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: Fix build on 10.6sdk.ritsuka2013-01-311-0/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5228 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGUI: make the preview window HiDPI aware, so that the preview images will ↵ritsuka2013-01-301-16/+44
| | | | | | be shown with the same pixel count on Retina and non Retina screens (instead of 2x on Retina). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5226 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix some crashes in the macuijstebbins2012-12-121-1/+1
| | | | | | | | | I missed setting some pointers to NULL after free and missed place where the ui was setting job->file directly instead of using hb_job_set_file(). Also, a NULL chapter name caused a crash. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5097 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Remove vestigial activity log debug messages.dynaflash2012-11-271-2/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5085 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve management of titles and jobsjstebbins2012-11-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleans up several several unavoidable memory leaks caused by old api. Clearly separates titles from jobs. Titles are set during scan and never modified now. Since titles are immutable, this lead to API some changes. For example, We were setting chapter names in the title from the front ends. Now these get set in the job. These new APIs allow us to start moving away from our use of title->job. Eventually, I would like to eliminate title->job completely, but the mac ui is too tightly tied to using this field to allow removing it at this time. So there is temporarily a convenience function used only by the mac ui that allows it to continue using title->job and also use the new APIs. New APIs: typedef struct hb_title_set_s hb_title_set_t; struct hb_title_set_s { hb_list_t * list_title; int feature; // Detected DVD feature title }; hb_title_set_t * hb_get_title_set( hb_handle_t * ); This is just something I added to clean up how "feature title" info is passed. hb_job_t * hb_job_init( hb_title_t * title ); Initializes a new job with default settings from the title. hb_job_t * hb_job_init_by_index( hb_handle_t *h, int title_index ); Same as hb_job_init(). For use by win Interop lib. void hb_job_reset( hb_job_t * job ); Convenience function for the MacUi. Clears audio, subtitle, and filter lists. The macui still uses title->job because it is so intricately tied to it. So I created this convenience function that it can call after adding a job. void hb_job_close( hb_job_t ** job ); Releases the job an all resources it contains. void hb_job_set_advanced_opts( hb_job_t *job, const char *advanced_opts ); Makes a copy of "advanced_opts" and stores in job. Freed by hb_job_close(). void hb_job_set_file( hb_job_t *job, const char *file ); Makes a copy of "file" and stores in job. Freed by hb_job_close(). void hb_chapter_set_title(hb_chapter_t *chapter, const char *title); Makes a copy of "title" and stores in chapter. Freed by hb_chapter_close(). Recommended usage (cli and lingui are updated to do this): job = hb_job_init( title ); // set job settings ... hb_add(h, job); hb_job_close( &job ); I have also added new APIs for managing metadata. These are used to add metadata to a job. void hb_metadata_set_name( hb_metadata_t *metadata, const char *name ); void hb_metadata_set_artist( hb_metadata_t *metadata, const char *artist ); void hb_metadata_set_composer( hb_metadata_t *metadata, const char *composer ); void hb_metadata_set_release_date( hb_metadata_t *metadata, const char *release_date ); void hb_metadata_set_comment( hb_metadata_t *metadata, const char *comment ); void hb_metadata_set_genre( hb_metadata_t *metadata, const char *genre ); void hb_metadata_set_album( hb_metadata_t *metadata, const char *album ); void hb_metadata_set_coverart( hb_metadata_t *metadata, const uint8_t *coverart, int size ); Example: job = hb_job_init( &job ); // set job settings ... hb_metadata_set_artist( job->metadata, "Danny Elfman" ); hb_add(h, job); hb_job_close( &job ); Some APIs have changed in order to avoid using title incorrectly and use the new hb_title_set_t. -void hb_autopassthru_apply_settings( hb_job_t * job, hb_title_t * title ); +void hb_autopassthru_apply_settings( hb_job_t * job ); -void hb_get_preview( hb_handle_t *, hb_title_t *, int, uint8_t * ); +void hb_get_preview( hb_handle_t *, hb_job_t *, int, uint8_t * ); hb_thread_t * hb_scan_init( hb_handle_t *, volatile int * die, const char * path, int title_index, - hb_list_t * list_title, int preview_count, + hb_title_set_t * title_set, int preview_count, int store_previews, uint64_t min_duration ); These APIs have been removed. Win Interop will need some changes. I think what I've provided will be suffecient, but let me know if it's not. -void hb_get_preview_by_index( hb_handle_t *, int, int, uint8_t * ); -void hb_set_anamorphic_size_by_index( hb_handle_t *, int, - int *output_width, int *output_height, - int *output_par_width, int *output_par_height ); git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5058 b64f7644-9d1e-0410-96f1-a4d463321fa5