Commit Graph

99 Commits

Author SHA1 Message Date
Lukas Prediger 1aaf74788c Added option to remove/replace originals in transcoder dialog (fixed).
This is a squashed and fixed version of previous commits
6b6547095a
dd1393ea3a
2022-01-20 11:43:07 +00:00
John Maguire e69ceb25df Revert "Added option to remove/replace originals in transcoder dialog."
This reverts commit 6b6547095a.
2022-01-13 22:16:39 +00:00
John Maguire ab37de5e8f Revert "Transcodedialog: moving things into more specific scope"
This reverts commit dd1393ea3a.
2022-01-13 22:16:39 +00:00
Lukas Prediger dd1393ea3a Transcodedialog: moving things into more specific scope 2022-01-13 20:38:19 +00:00
Lukas Prediger 6b6547095a Added option to remove/replace originals in transcoder dialog. 2022-01-13 20:38:19 +00:00
Lukas Prediger 3a40be6706 Transcoder now deletes created files on error 2022-01-10 16:39:58 +00:00
Lukas Prediger bb618efc5d Transcoder now accepts URLs for sources. 2022-01-10 16:39:58 +00:00
Lukas Prediger 5c8ca3754f Added overwrite_existing argument to Transcoder::AddJob 2021-08-31 10:19:32 +01:00
Lukas Prediger 83d961f808 Transcoder: create output paths if they do not already exist 2021-08-31 10:19:32 +01:00
Jonas Kvinge f379ad84d4 Fix use of emit
Adds missing emits.

QTreeView::collapse and QTreeView::expand are slots, not signals. So
remove emit.
2021-07-14 10:18:47 +01:00
Jim Broadus f9854e564d transcoder: Add options avenc_aac element.
Initially adding encoder and bitrate settings, but the gstreamer
element exposes a lot of ffmpeg options that can be added as needed.

Reference: https://gstreamer.freedesktop.org/documentation/libav/avenc_aac.html
2021-06-27 15:56:50 +01:00
Jim Broadus f7b6708e4f transcoder: Add options widget for voaacenc
Base GstAudioEncoder class properties are not included.
Reference: https://gstreamer.freedesktop.org/documentation/voaacenc/index.html
2021-02-07 15:05:11 +00:00
Jim Broadus 4994091f86 transcoder: Add options widget for fdkaacenc
As with the other cases, the base GstAudioEncoder class properties are
not included.
Reference: https://gstreamer.freedesktop.org/documentation/fdkaac/fdkaacenc.html
2021-02-07 15:05:11 +00:00
Jim Broadus e84f87f625 transcoder: Apply transcoder option fixes to settings page
Dynamically add tabs to the transcoder settings page. Use the same
mechanism that is used in the options dialog to select an options
page based on the best encoder element for a mime type.
2021-02-06 21:28:38 +00:00
Jim Broadus 79d81283a8 transcoder: Add an enum for known codecs
Add CodecType to enumerate codecs available for settings and a MimeType
to provide the mime string.
2021-02-06 21:28:38 +00:00
Jim Broadus 8f3772b593 transcoder: Move option error into its own widget
Create a TranscoderOptionsError class and ui that inherits from
TranscoderOptionsInterface. Use this to display options errors. Move
widget creation into a static method. These changes will allow use of
the same mechanism in the transcoder settings page.
2021-02-05 10:40:31 +00:00
Jim Broadus eb7a9bfa4c transcoder: Show options based on encode element
Instead of assuming a specific set of options based on a format,
determine which encoder element will actually be used in the pipeline.
2021-02-03 10:46:14 +00:00
Jim Broadus a98035d635 transcoder: Separate suitable element search from creation
Split best element type search from Transcoder::CreateElementForMimeType
into new FindBestElementForMimeType method. This will allow the setting
dialog to determine the encoder element type before the pipeline is
built.
2021-02-03 10:46:14 +00:00
Jim Broadus 281da05325 transcoder: Provide user feedback in options error condition
Remove condition that allows no dialog to be displayed when user selects
options for transcoding. Display the dialog with an error message
instead. This also applies to the transcode options dialog in the
ripping and network remote settings.
2021-02-02 09:58:20 +00:00
Jim Broadus b735f5d1c3 transcoder: Change TranscoderOptionsDialog constructor
Take a reference to a TranscoderPreset object instead of the the type.
This will allow the dialog to provide better information and correct
options.
2021-02-02 09:58:20 +00:00
Jim Broadus 18eef830a5 transcoder: Add ability to dump pipeline graphs
Add a "Dump Graph" menu option to the pipeline view if CLEMENTINE_DEBUG
is enabled.
2021-01-29 22:30:03 +00:00
Jim Broadus 8d11e9ffab transcoder: Remove unused slots
Transcoder::Start() and Transcoder::Cancel() were defined as slots but
never used as such.
2021-01-29 13:12:26 +00:00
Jim Broadus d4c9628222 transcoder: Don't show progress when nothing is selected
Previously, pressing the "Start transcoding" button with zero files selected
would show the progress group with the progress bar in the busy state.
2021-01-29 13:12:26 +00:00
Jim Broadus 8c2ab8fa05 transcoder: Add pipeline list to details dialog
List current running transcode pipelines when the details dialog is displayed.
This will be allow the addition of cancel and debug options.
2021-01-26 10:31:25 +00:00
Jim Broadus 4f5bf1cc6f gstengine: Give pipelines unique names
Currently, most pipelines are named "pipeline". Use a type string in combination
with the stream id to give each pipeline a unique name.
2021-01-13 22:59:49 +00:00
Jim Broadus ace5234e62 transcoder: Fix flacenc "insane" level encoding
The gstreamer flacenc element defines a set of quality levels that is different
from the standard flac library. Its highest level, labeled "insane", uses
settings that are outside of the streamable subset. Set the streamable-subset
property to false for this level.

Reference: https://xiph.org/flac/format.html#subset
2021-01-12 11:47:12 +00:00
Jim Broadus 7b94309827 transcoder: Use GstPipelineBase class for pipeline
This allows the use of the DumpGraph method in transcoding pipelines. The call
can be added to Transcoder::StartJob for debugging. In the future, a trigger
may be added to the debug console ui.
2021-01-10 18:14:57 +00:00
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Jonas Kvinge d09c27f719 Remove extra ';' 2019-11-10 00:30:18 +01:00
Jonas Kvinge d4fab4a2ea Merge remote-tracking branch 'upstream/master' into qt5-update 2018-11-11 22:46:07 +01:00
Amish Naidu 107e945872 Convert uses of QtAlgorithms to std:: algorithms 2018-10-09 19:17:54 +01:00
Chocobozzz 70f68b1926
Merge remote-tracking branch 'upstream/master' into qt5 2018-02-01 09:50:42 +01:00
Allan Nordhøy be79e8f92f Spelling: FLAC elsewhere (#5840) 2017-08-29 01:23:22 +02:00
Chocobozzz e6e189967d Merge remote-tracking branch 'upstream/master' into qt5 2016-02-29 18:03:02 +01:00
Mattias Andersson d9c4e0844d Use mp4mux instead of ffmux_mp4 when transcoding to aac 2016-01-12 15:59:23 +01:00
David Sansome a168b618d3 Rename "Import" to "Add directory" in the transcode dialog 2015-12-31 11:02:45 +11:00
Chocobozzz ff7026c9fe Merge remote-tracking branch 'upstream/master' into qt5 2015-12-13 20:05:12 +01:00
narunlifescience dd953fd86c check custom icon location, then system theme & then fallback theme
icons added & replaced
2015-10-13 22:35:49 -05:00
Chocobozzz e986ab5a4b Merge master branch and adapt it to qt5 2015-04-16 17:16:34 +02:00
Chocobozzz 8b226c2171 Update non optionnals sources to qt5 2015-04-11 23:24:07 +02:00
Mattias Andersson 8ad0e93381 Construct file paths correctly on all platforms 2015-02-20 19:19:45 +01:00
Mattias Andersson 7f4d467c27 Make the code clearer. 2015-02-19 16:49:42 +01:00
Andreas 880308c205 Remove async bus callback from transcoder. This caused the UI to get unresponsive after a song was converted.
A bit more information:
Normal transcoding worked fine, the transcoder object was in the main thread. In the network remote, a new transcoder object is created which runs in the network remote thread. When a song was transcoded there, the UI became unresponsive.
Removing the async bus callback solved the problem, exactly the g_source_remove() method caused it. Since the bus callback returned FALSE (GST_BUS_DROP), the watch was already removed. (See http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-add-watch)
2014-11-14 23:50:59 +01:00
Andreas ff172f6ed4 Network remote can now transcode lossless files before sending them to the remote.
- It is configurable in the settings.
- Any format can be chosen that is supported by the transcoder.
- The status of the transcoder is send to the remote.

- Transcoder format settings have now a postfix so we can define mutliple transcoder formats and use them separatly. Here one for the normal transcoder and one for the network remote transcode. You can pass the postfix in the constructor.
- Fixed Transcoder crash (was introduced with the gstreamer1.0 merge, decodebin doesn't have a "new-decoded-pad").
- Transcoder emits the output filename as well on "JobComplete" signal
- Transcoder can now convert a file to a temporary file ("AddTemporaryJob")
2014-11-13 22:31:49 +01:00
Andreas 8aa78af8f8 Save last used transcoder format with the mimetype instead of the extension.
ogg vorbis and ogg flac have the same extensions (*.ogg) and therefore the wrong item in the format combobox might be loaded.
2014-11-11 14:40:52 +01:00
Chocobozzz 50b7b7d889 Make format after update to avoid conflicts 2014-10-15 21:57:57 +02:00
Chocobozzz 8279f21251 Revert "Make format"
This reverts commit 17b1e9fbe6.
2014-10-15 21:55:03 +02:00
Chocobozzz 17b1e9fbe6 Make format 2014-10-15 20:55:24 +02:00
John Maguire aa3671b54a Merge pull request #4521 from Korvox/master
Add an option to pull all music files recursively into transcoding
2014-10-08 12:37:16 +02:00
Matthew Scheirer fdb88d4738 Fixed formatting for merge. 2014-09-28 19:34:28 -04:00