summaryrefslogtreecommitdiffstats
path: root/gtk/src/callbacks.c
Commit message (Collapse)AuthorAgeFilesLines
* LinGui: fix range update issues and plug memory leaksjstebbins2014-02-211-82/+116
| | | | | | | | Updating the range of GtkScale and GtkSpinButtons causes the current value to update inappropriately under some conditions. So update the range and value concurrently. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6051 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix several issues with loading presetsjstebbins2014-02-201-11/+14
| | | | | | pull on a string and the whole sweater comes apart git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6048 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix potential use of uninitialized variablejstebbins2014-02-191-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6047 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: rework title listjstebbins2014-02-191-818/+756
| | | | | | | | | | | | | | Title list is now linked to a settings list. There is one settings dict per title. The settings list is populated when scan completes. As you change titles, the settings for that title populate the UI. Changes made are saved in the settings and restored if you go to another title and then return. This is preparation for improvements to "Add All to Queue" feature. Settings for each title can be customized before adding to the queue. All titles don't have to use the same preset or settings. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6046 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Audio and subtitle UI rework.jstebbins2014-02-181-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds new tabs for audio and subtitle defaults (presets). "Audio" and "Subtitle" tabs renamed to "Audio List" and "Subtitle List" New Preset Keys: AudioLanguageList - array of strings List of languages that will be used to generate the output audio tracks for a job. Values: preset - UI display iso639_2 codes - native_name if not NULL, else eng_name SubtitleLanguageList - array of strings List of languages that will be used to generate the output subtitle tracks for a job. Values: preset - UI display iso639_2 codes - native_name if not NULL, else eng_name AudioTrackSelectionBehavior - string Defines how source tracks will be selected when generating the audio list for a job. Values: preset - UI display none - None first - First Matching Selected Languages all - All Matching Selected Languages SubtitleTrackSelectionBehavior - string Defines how source tracks will be selected when generating the subtitle list for a job. Values: preset - UI display none - None first - First Matching Selected Languages all - All Matching Selected Languages SubtitleAddCC - boolean Add Closed Caption track to subtitle list if available SubtitleAddForeignAudioSearch - boolean Add Foreign audio search pass to job if a default subtitle language is set (i.e. SubtitleLanguageList is not empty and first entry is not "Any") and default audio track language matches subtitle preferred language. SubtitleAddForeignAudioSubtitle - boolean Add preferred language subtitle track if the default subtitle language is set (i.e. SubtitleLanguageList is not empty and first entry is not "Any") and default audio track language does not match the preferred subtitle language. Removed Preset Keys: AudioTrack SubtitleList - I think only the LinGui had this key. Note that the remaining keys in the pre-existing AudioList are reused and map to the "Audio Encoder Settings" on the "Audio Defaults" tab. They used to map to the entries in the list on the old "Audio" tab. The old "Audio" tab is now the "Audio List" tab. Nothing in the "Audio List" tab map to preset values in the new design. The contents of this tab is strictly for use in the encode job. Ditto for "Subtitle Defaults" and "Subtitle List". git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6040 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix deprecation of GtkAction and GtkUIManagerjstebbins2014-01-151-77/+57
| | | | | | | Farely large change since these were the old way of creating menus :-\ git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5974 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix deprecated GTK_STOCK_*jstebbins2014-01-141-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5968 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: add chapter start time to chapter tab displayjstebbins2013-11-271-30/+63
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5906 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: mark more strings as translation candidatesjstebbins2013-08-011-69/+70
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5678 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add experimental avformat muxer for mkv and mp4jstebbins2013-06-301-13/+30
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5620 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: use hb_container_get_default_extension() when creating dest filenamejstebbins2013-06-281-12/+8
| | | | | | | | and fix a mostly harmless error in creating the dest filename that is only seen before scanning any files. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5615 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix propagation of tags from input file to outputjstebbins2013-06-111-0/+29
| | | | | | | ... when batch queueing is used. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5574 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix a problem with batch enqueuejstebbins2013-05-101-0/+5
| | | | | | | | | The current chapter start/end was applied to all titles. So if the currently selected title has fewer chapters than other titles, chapters would be missing in the encoded titles. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5449 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix incorrect glib version check macrosjstebbins2013-03-071-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5307 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve scan progress granularityjstebbins2013-03-011-3/+9
| | | | | | | | We were only updating progress after completely processing each title. Now progress is updated as we generate previews as well. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5276 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix crash caused by bug in newer versions of gtk2jstebbins2013-02-011-6/+10
| | | | | | | | | GtkCombobBoxText is not initialized correctly by gtk2. Reading out it's current value fails and returns NULL. So explicitely initialize the text column value and guard against future bugs by checking return value. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5231 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Work around STUPID gtk3 file chooser bug :-\jstebbins2013-01-211-0/+14
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5186 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Fix compatibility with GTK versions < 2.32jstebbins2013-01-151-10/+18
| | | | | | | | Ubuntu 11.04 and 11.10 use this and I'm not quite ready to drop support for these. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5172 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Add GTK+-3 supportjstebbins2013-01-131-26/+33
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5170 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: filter out high444 from h264 profilesjstebbins2012-12-311-0/+7
| | | | | | | | | and force profile to auto when RF < 1.0 and fix a problem with video quality slider digits display when changing granularity in preferences. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5125 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Update copyright datesjstebbins2012-12-301-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5117 b64f7644-9d1e-0410-96f1-a4d463321fa5
* lingui: convert tabs to spacesjstebbins2012-12-271-4102/+4102
| | | | | | | Makes lingui source conform to hb standard for indentation. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5112 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: add x264 preset/tune/profile/level supportjstebbins2012-12-271-1/+13
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5110 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve management of titles and jobsjstebbins2012-11-121-69/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* LinGui: update iconsjstebbins2012-11-111-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5054 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Lingui: update hb icon. Fix icon in notification bubble on fedora.jstebbins2012-09-271-1/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4991 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Fix preset import of new frameratesjstebbins2012-07-171-7/+19
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4859 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: disable status icon progress when status icon is disabledjstebbins2012-06-211-16/+22
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4763 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix problem with setting the default destination file namejstebbins2012-06-081-7/+1
| | | | | | | | | If ghb is started with a parameter that specifies the source, it was not updating the destination name as it normally would when choosing the source from the file open dialog. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4722 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Portability patchesjstebbins2012-06-071-3/+8
| | | | | | | | | gudev is only available on linux, so ifdef it out on all other systems. also add some definitions to the make system for generic gnu and freebsd systems. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4717 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix a bunch of compiler warningsjstebbins2012-05-261-8/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4701 b64f7644-9d1e-0410-96f1-a4d463321fa5
* merge assorted fixes provided by Rogerio Britojstebbins2012-05-011-2/+4
| | | | | | | | Pretty much all resource cleanup issues on error condition handling. Thanks Rogerio! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4620 b64f7644-9d1e-0410-96f1-a4d463321fa5
* PGS (bluray) subtitle support \o/jstebbins2012-04-261-0/+1
| | | | | | | | | | | | Thanks to patches supplied by David Mitchell and Rob McMullen we finally have PGS support. I added a fix for libav pgs timestamp processing and detection of forced subtitles to their work, then made foreign audio search work with PGS subs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4605 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add preference to enabled auto passthru optionsjstebbins2012-01-141-0/+11
| | | | | | | | The advanced auto passthru options are probably overkill for 90% of people. So simplify the UI by hiding them unless the user explicitly asks for them in preferences. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4410 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: replace references to "Rip" with encode or transcodejstebbins2011-11-141-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4349 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: experimental support for batch queuingjstebbins2011-10-161-35/+136
| | | | | | | | | This allows all titles in the title popup to be added to the queue in one go. It uses the current *preset* for the settings. I.e. settings changes in the UI are ignored. This deficiency will be rectified at a future time. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4294 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add flac + quality + compression level supportjstebbins2011-10-121-3/+9
| | | | | | | | | Adds flac audio to cli, lingui, and macgui Adds quality and compression level options to cli Adds quality option to lingui Quality option works for vorbis and lame git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4281 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: remember filter setting in source selection dialogjstebbins2011-09-231-7/+0
| | | | | | | | | I was resetting it every time the dialog is opened which is annoying if you are trying to open a collection of a single file type (e.g. TS files). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4241 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: oops! forgot to use existing filterjstebbins2011-09-191-2/+1
| | | | | | | | I was creating a new filter with pattern "*" when opening the source file chooser. Don't need to do that since I have a pre-existing one now. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4235 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Show video codec name in summary tabjstebbins2011-09-011-0/+5
| | | | | | | | | | I found myself wanting to know what the source video codec was when I discovered that several of my VC-1 trancodes were crap. So this adds the video codec name to the summary information I display on the summary tab. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4197 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add more audio passthru optionsjstebbins2011-08-011-3/+4
| | | | | | | | | | | | | | | | | adds aac and mp3 passthru for mp4 and mkv containers adds dts and dtshd for mp4 container (mkv already had it) Note: The only player known (to me) to support dts(hd) in mp4 is ff/avplay In LinGui there is a new option to limit which passthru codecs will be used by the "Auto Passthru" audio codec options. The CLI already has this ability with "--audio_copy-mask" which is use in conjunction with the "copy" audio codec option. Also corrects some A/V sync issues when video frames are dropped due to a gap detected in the audio. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4149 b64f7644-9d1e-0410-96f1-a4d463321fa5
* lingui: work around stupid GtkFileChooser bugjstebbins2011-07-241-0/+9
| | | | | | | | | If hidden files are being displayed AND there is no filter attached to the file chooser, the chooser will never highlight the file that get set using gtk_file_chooser_set_filename git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4136 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix initial enabled state of audio options after scanjstebbins2011-06-271-0/+1
| | | | | | | | audios that are disabled were not getting grayed out in the audio options list till the track or encoder selection changed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4079 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix appindicator warning message in log at startupjstebbins2011-06-221-8/+11
| | | | | | | | | A signal that causes an indicator update happens before the indicator has been created, triggering a warning. so check that the indicator exists first. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4075 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: when appindicator is found, disable gtkstatusiconjstebbins2011-06-211-13/+16
| | | | | | | | | libappindicator has a fallback mode that creates a gtkstatusicon automatically if the indicator service can not be contacted. so I should only enable one or the other, not both. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4073 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Add status tray icon support for Ubuntu 11.04jstebbins2011-06-201-0/+52
| | | | | | | | | Ubuntu disables GtkStatusIcon support in Unity and instead uses a new API called AppIndicator. So this adds support for appindicator when it is detected by configure. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4067 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: remember user window size changesjstebbins2011-04-191-0/+26
| | | | | | | | window size gets stored in prefs when changed and restored whenever ghb starts. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3939 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: fix build error on mingwjstebbins2011-04-051-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3904 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: add audio gain adjustment and create advanced audio dialog.jstebbins2011-04-051-13/+0
| | | | | | | | | Gain, DRC, and Sample Rate are now in an advanced audio dialog. This makes the audio tab less crowded and makes room for future improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3903 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix garbled previews from BD h.264 sourcesjstebbins2011-04-021-1/+1
| | | | | | | | | | | Forome reason, frames that are tagged as recovery points in many BD h.264 streams do not result in complete frames when decoded. Pushing 2 extra frames through the decoder seems to always fix this. This patch extends something I was already doing when generating previews from a BD structure. This just applies the same logic to ffmpeg streams that have h.264 video. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3895 b64f7644-9d1e-0410-96f1-a4d463321fa5