Commit Graph

53 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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
Chocobozzz 8b226c2171 Update non optionnals sources to qt5 2015-04-11 23:24:07 +02: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
David Sansome 389d2972f5 Use decodebin in the transcoder (decodebin2 doesn't exist in gst-1.0). 2014-09-25 23:51:45 +10:00
David Sansome 6bb81328e8 Merge branch 'master' into gstreamer-1.2
Conflicts:
	ext/clementine-spotifyblob/mediapipeline.cpp
	gst/moodbar/gstfftwspectrum.c
	src/core/songloader.cpp
	src/core/songloader.h
	src/engines/gstengine.cpp
	src/engines/gstenginepipeline.cpp
	src/moodbar/moodbarpipeline.cpp
	src/musicbrainz/chromaprinter.cpp
	src/transcoder/transcoder.cpp
	src/ui/mainwindow.cpp
	src/visualisations/projectmvisualisation.cpp
2014-06-09 16:20:24 +10:00
Mattias Andersson 98fd82a371 Use the TagReaderClient to tag the files in the CD ripper instead of
using Taglib directly.
2014-05-12 23:57:11 +02:00
John Maguire 3323c2d094 Convert all instances of foreach() to a C++11 for
find ext src -name '*.cpp' -exec \
    sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01:00
John Maguire bebd781fdf Reformat all non-3rd-party C/C++/Objective-C++.
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
 -style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire 71893e4847 Use nullptr instead of NULL everywhere. 2014-02-06 17:29:59 +01:00
John Maguire d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
Mladen Pejaković e50ef0dd42 [Transcoder] Translate transcoder presets as well 2014-02-05 14:17:24 +01:00
David Sansome 5ac83bd463 Merge branch 'master' into gstreamer-1.2 2014-01-25 00:24:31 +11:00
asiviero 215056e1b9 Added signal to catch transcoded name, altered duplicate format to avoid tagging problems 2014-01-11 02:47:49 -02:00
John Maguire 56c949815b First pass at Gstreamer 1.0 porting.
This at least compiles against gstreamer 1.2.
Things that work:
* Playing audio
* Automatically completing tags

Things that don't work
* Spotify
* Moodbar

Things I haven't tested
* Transcoding
2013-09-26 17:49:24 +02:00
John Maguire 90803fa0e0 Remove use of deprecated gstreamer functions. 2013-01-29 13:19:26 +01:00
Martin Brodbeck d5139ac2b2 Add opus support to transcoder.
Fixes issue #3453
2013-01-28 14:09:31 +01:00
John Maguire cbc650f44b Use CHECKED_GCONNECT instead of g_signal_connect everywhere. 2012-06-08 15:34:00 +02:00
David Sansome 91b4cfcb68 Destroy gstreamer transcoding pipelines properly so the input and output files are closed, and can be read again on Windows. 2011-11-29 16:57:54 +00:00
David Sansome a00d7e1738 Transcode files on windows with unicode characters in their filenames. Gstreamer elements take utf8 filenames. Fixes issue 1690. 2011-11-29 16:56:10 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
David Sansome 5ed1fcd5e1 Add a load of options to the transcoders. Fixes issue 415. 2011-04-16 23:04:15 +00:00
David Sansome dd1c3b2e68 Force CBR when encoding MP3s using lame, for better compatibility with MP3 players 2010-11-21 12:03:22 +00:00
David Sansome 32b3e59f46 Add xingmux and id3v2mux to the pipeline when using lamemp3enc to transcode to MP3 2010-11-20 23:46:30 +00:00
David Sansome ed1a25693c Add missing licenses to debian/copyright, and add copyright information to each source file 2010-11-20 13:27:10 +00:00
David Sansome 7e1e2cb1cd Show progress information for individual tracks when transcoding, and fix a race condition 2010-08-30 13:03:21 +00:00
David Sansome 5dc25faab8 Use native separators when writing filenames to the transcoder log 2010-08-30 12:43:49 +00:00
David Sansome 728925097d Show progress information when transcoding files to copy to a device 2010-08-30 11:36:40 +00:00
David Sansome 4b381e00fd Transcode files when copying them to devices 2010-08-29 19:22:21 +00:00
David Sansome 5873fe80a6 Pick a good default format to transcode to 2010-08-29 16:12:55 +00:00
David Sansome d8ea4660e7 Store the device's transcode preference in the database 2010-08-29 15:32:36 +00:00
David Sansome 3e1e880c19 Add more file formats to the transcoder, and add a function to get a preset by song filetype 2010-08-29 14:25:33 +00:00