Commit Graph

6063 Commits

Author SHA1 Message Date
Jim Broadus cf842a8c5a gstengine: Use existing stream id to track background streams
New ids were being created for background stream mapping, but streams already
have unique IDs that can be used for this.
2021-01-14 11:29:43 +00:00
Clementine Buildbot 72e2e62eb1 Automatic merge of translations from Transifex 2021-01-14 03:36:26 +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 5ffdb7d98c gstengine: Move pipeline id handling to base class
Move the id and the global counter from GstEnginePipeline to GstPipelineBase.
Make counter atomic.
2021-01-13 22:59:49 +00:00
Clementine Buildbot 2dd424a195 Automatic merge of translations from Transifex 2021-01-13 03:27:02 +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
Clementine Buildbot e1e559732b Automatic merge of translations from Transifex 2021-01-12 03:20:36 +00:00
Clementine Buildbot b3aed042eb Automatic merge of translations from Transifex 2021-01-11 03:16:59 +00:00
Jim Broadus f779652aa2 Localize song count in playlist
Use %Lx to localize number formatting.

Reference: https://doc.qt.io/qt-5/qtquick-internationalization.html#5-use-lx-so-numbers-are-localized
2021-01-10 21:58:54 +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
Jim Broadus f9e9dae73d gstengine: Add a base class for pipelines
This allows debug functionality to be shared.
2021-01-10 18:14:57 +00:00
Clementine Buildbot 8c774e3880 Automatic merge of translations from Transifex 2021-01-10 03:17:22 +00:00
Jim Broadus 25d3fca079 gstengine: Fix output audio depth
When the decoder bin's src pad becomes available, check its caps
for a format. If the format is not S16LE, then apply F32LE caps
before the tee. This prevents the pipeline from negotiating
S16LE when the decoder produces other formats.
2021-01-06 20:39:33 +00:00
Jim Broadus 06066dfba4 gstengine: Add a caps filter in pipeline before tee 2021-01-06 20:39:33 +00:00
Jim Broadus 2b17170bf8 gstengine: Move the probe capsfilter to the correct side of the converter
The pipeline currently constructs a caps filter between the tee and the
probe audio converter. This requires that S16LE data is fed to the tee.
2021-01-06 20:39:33 +00:00
Clementine Buildbot 479f1d4de9 Automatic merge of translations from Transifex 2021-01-04 03:05:13 +00:00
Clementine Buildbot 8201c10355 Automatic merge of translations from Transifex 2021-01-03 03:03:01 +00:00
Clementine Buildbot 8f863bc969 Automatic merge of translations from Transifex 2021-01-02 02:58:52 +00:00
Benjamin Valentin 3efa68f07d internet/soma.fm: use high quality AAC stream
Prefer the high quality 130 kbit/s AAC stream over the 'fast' 128 kbit/s
mp3 stream.
2021-01-01 18:00:59 +00:00
Jim Broadus 409c6b89d1 gstengine: Add a gstreamer debug console page
New page initially provides a button that triggers a dump of a graph of the main
pipeline.
2021-01-01 16:26:29 +00:00
Jim Broadus c353deba0c gstengine: Add a DumpGraph method to GstEnginePipeline
This will write a .dot graph and can be integrated with the debug console.
2021-01-01 16:26:29 +00:00
Jim Broadus 0ee64a32f6 console: Add a mechanism to allow components to add pages
Add a MainWindow signal that is emitted when a debug console is created. Relay
that signal to the Application. Add an AddPage method to the Console class that
allows components to populate pages when they receive the signal.
2021-01-01 16:26:29 +00:00
Clementine Buildbot 2b99d32bee Automatic merge of translations from Transifex 2021-01-01 03:01:46 +00:00
Jim Broadus 63a73a4a55 Fix debug console instance leak
Each time the debug console is launched, a new instance is created, but never
deleted. To fix, create one instance, if the option is enabled, and show that
one each time the menu option is selected.
2020-12-31 21:07:58 +00:00
Clementine Buildbot dc2c1e1117 Automatic merge of translations from Transifex 2020-12-29 02:57:55 +00:00
Clementine Buildbot 87cd3d2aba Automatic merge of translations from Transifex 2020-12-28 02:56:46 +00:00
Jim Broadus a012e7e273 gstengine: Fix InitFromString return value
GstEnginePipeline::InitFromString was attempting to link the decoder and audio
bins twice and returning the result of the failed second attempt as it's own
status. The return value was also being ignored by the caller.
2020-12-27 21:50:06 +00:00
Clementine Buildbot 0393d865ca Automatic merge of translations from Transifex 2020-12-27 02:55:57 +00:00
Jim Broadus 616ccc6fde gstengine: Remove extra unref on element creation failure
GstEngine::CreateElement unrefs the supplied bin if an error
occurs. In all current cases, that bin is referenced by a
pipeline.
2020-12-26 22:14:23 +00:00
Clementine Buildbot 5495445175 Automatic merge of translations from Transifex 2020-12-26 02:55:52 +00:00
Clementine Buildbot faab7fa6c5 Automatic merge of translations from Transifex 2020-12-25 02:56:29 +00:00
Clementine Buildbot 870969ef42 Automatic merge of translations from Transifex 2020-12-23 02:57:28 +00:00
Jim Broadus c999fc70e2 Fix hang during internet model reset
An old hack was notifying MergedProxyModel users that max int rows had been
removed when a submodel was reset. This caused the code that invalidates
selected items to spin for a very long time. A modelAboutToBeReset signal,
introduced in Qt 4.6, allows notification before the submodel information is
lost.

Note: there is one other case, in RemoveSubModel, where this hack is used.
This is only called when a device is removed and doesn't trigger this
condition, but it should probably be addressed in the future.
2020-12-22 20:40:05 +00:00
Clementine Buildbot 9f8093a22b Automatic merge of translations from Transifex 2020-12-22 02:56:44 +00:00
Clementine Buildbot 863a668240 Automatic merge of translations from Transifex 2020-12-21 02:54:48 +00:00
Clementine Buildbot af4810a581 Automatic merge of translations from Transifex 2020-12-20 02:51:13 +00:00
Clementine Buildbot 51c600a537 Automatic merge of translations from Transifex 2020-12-19 02:51:12 +00:00
Clementine Buildbot 6a6ef729ef Automatic merge of translations from Transifex 2020-12-18 02:52:23 +00:00
Matthieu Bruel 41513527cd hatstand code review update 1 2020-12-17 12:23:30 +00:00
Matthieu Bruel 114802a0ca Adding links to new remote in network remote settings 2020-12-17 12:23:30 +00:00
Matthieu Bruel 7d038c7354 Missing filechooserwidget files... 2020-12-17 12:23:30 +00:00
Matthieu Bruel 9714b0632d All changes for ClemRemote v1.0 (in one go) 2020-12-17 12:23:30 +00:00
Robert-André Mauchin cfcd0a956e Drop -std=c++0x and -U__STRICT_ANSI__
This was causing compilation failures, static assertion failed, with GCC 11.

Fix #6865

Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
2020-12-17 11:28:09 +00:00
Jim Broadus ccba649f62 Clear cached indexes in InternetModel when rows are removed
When opening a context menu on an internet item, the selected items are stored
in the InternetModel instance. In cases when the items are removed, certain menu
options can cause a crash. A specific case is downloading a podcast when the
user has chosen to limit the number of visible episodes. The subtree for the
podcast is rebuilt after the download completes, so if a context menu was opened
during the download time, selecting the append to playlist option will attempt
to operate on bad indexes.

This fix uses the rowsAboutToBeRemoved signal to remove these stored indexes.

There are likely another rare cases where the indexes can become invalid. For
example, sibling items within a subtree may be removed, causing the stored
indexes to become incorrect or out of range.
2020-12-15 22:36:30 +00:00
Clementine Buildbot c1c43e9a67 Automatic merge of translations from Transifex 2020-12-13 02:43:47 +00:00
Clementine Buildbot 91bad31f68 Automatic merge of translations from Transifex 2020-12-09 02:41:23 +00:00
Clementine Buildbot ba8fc09a65 Automatic merge of translations from Transifex 2020-12-07 02:38:38 +00:00
Jim Broadus 01f0727649 giolister: Don't include invalid mountpoint url
If the gvfs mountpoint property for a volume is empty, we add an empty URL to
the devices URL list. This causes errors in duplicate entry detection.
2020-12-06 12:59:50 +00:00
Clementine Buildbot df262c5c7e Automatic merge of translations from Transifex 2020-12-06 02:37:13 +00:00
Jim Broadus cca48b1ebf giolister: Ignore mountpoints
Read the G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT attribute (unix::is-mountpoint) to
determine if a volume is a mount that udisks2 has detected. Ignoring these
prevents network mounts from showing up as devices.
2020-12-05 13:24:54 +00:00
Clementine Buildbot f5c904b267 Automatic merge of translations from Transifex 2020-12-05 02:35:11 +00:00
Jim Broadus 1a0b288a8f giolister: Remove extra g_object_unref
GioLister::UnmountDevice calls g_object_unref on the GVolume object held by a
DeviceInfo. This appears to be left over from a time before DeviceInfo held
onto the volume.
2020-12-04 22:07:01 +00:00
Jim Broadus abc70554f3 giolister: Append _ to some DeviceInfo class members
Rename drive, mount, and volume to drive_, mount_, and volume_ to
avoid confusion with method arguments.
2020-12-04 22:07:01 +00:00
Clementine Buildbot 20f49c4454 Automatic merge of translations from Transifex 2020-12-03 02:34:21 +00:00
Clementine Buildbot 41b1ba8ffc Automatic merge of translations from Transifex 2020-12-02 02:33:31 +00:00
Clementine Buildbot c4d22d4414 Automatic merge of translations from Transifex 2020-12-01 02:33:42 +00:00
Clementine Buildbot f60c422242 Automatic merge of translations from Transifex 2020-11-30 02:33:52 +00:00
NicolasToussaint 7b3e2dfd8c PlayPlaylist: set current and not active playlist to selection 2020-11-30 01:50:58 +00:00
Clementine Buildbot f17e29f41d Automatic merge of translations from Transifex 2020-11-29 02:32:32 +00:00
NicolasToussaint b2044a5be5 apply PR recomendations 2020-11-28 20:24:56 +00:00
NicolasToussaint ee72b974bf add CLI play-playlist option, to play given playlist name. 2020-11-28 20:24:56 +00:00
Clementine Buildbot c536dc88e9 Automatic merge of translations from Transifex 2020-11-28 02:31:39 +00:00
Clementine Buildbot eec7641ef7 Automatic merge of translations from Transifex 2020-11-27 02:31:50 +00:00
Clementine Buildbot d417aed29f Automatic merge of translations from Transifex 2020-11-26 02:31:54 +00:00
Clementine Buildbot c856a66176 Automatic merge of translations from Transifex 2020-11-25 02:31:22 +00:00
Clementine Buildbot d970b74003 Automatic merge of translations from Transifex 2020-11-24 02:31:19 +00:00
Clementine Buildbot ae4948ce32 Automatic merge of translations from Transifex 2020-11-23 02:30:52 +00:00
Clementine Buildbot 1daf43f914 Automatic merge of translations from Transifex 2020-11-07 02:29:09 +00:00
Clementine Buildbot eefb96bdce Automatic merge of translations from Transifex 2020-11-03 02:27:29 +00:00
zan 16d09ace07 Fix visibility incongruences 2020-11-02 11:07:42 +00:00
Clementine Buildbot cac606186a Automatic merge of translations from Transifex 2020-10-31 02:27:33 +00:00
Jim Broadus fc4cb6fc7a Fix opml import crash
The opml parsing code handles cases where there are extra levels in the xml file
by copying the child to the main container. This corrupts the source instance
during the copy, which leads to corruption in the destination, and ultimately a
crash when it is later used.

To fix, do the copy in two steps, copying the child container to a temporary
location before copying to the destination.
2020-10-17 09:12:22 +01:00
Clementine Buildbot 4e3e9c8d14 Automatic merge of translations from Transifex 2020-10-12 02:34:09 +00:00
Clementine Buildbot 9e8d4434a0 Automatic merge of translations from Transifex 2020-10-04 02:31:34 +00:00
Clementine Buildbot b49afcc5b7 Automatic merge of translations from Transifex 2020-09-24 02:30:41 +00:00
Zanny 2bac3626c5
Fix logout cancelling (#6796) 2020-09-23 10:39:59 +01:00
Clementine Buildbot 54f7637ad2 Automatic merge of translations from Transifex 2020-09-23 02:29:48 +00:00
John Maguire 2172732b1e Include windows.h first as it's special 2020-09-22 14:56:06 +01:00
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Clementine Buildbot 8ae194c4a7 Automatic merge of translations from Transifex 2020-09-20 02:29:18 +00:00
Clementine Buildbot f7bece3b83 Automatic merge of translations from Transifex 2020-09-13 02:28:52 +00:00
Clementine Buildbot e9b62fa343 Automatic merge of translations from Transifex 2020-09-11 02:28:40 +00:00
Clementine Buildbot 7b3a0f397b Automatic merge of translations from Transifex 2020-09-09 02:29:06 +00:00
Clementine Buildbot d0bf92f064 Automatic merge of translations from Transifex 2020-09-06 02:28:36 +00:00
Clementine Buildbot 598f840078 Automatic merge of translations from Transifex 2020-09-03 02:28:37 +00:00
Clementine Buildbot 06855ea6c8 Automatic merge of translations from Transifex 2020-09-02 02:28:14 +00:00
Clementine Buildbot 29aad2ae3d Automatic merge of translations from Transifex 2020-08-29 02:27:36 +00:00
Gerion Entrup 6821f6d7bd udisks2lister: enable ipod recognition
The extends two functions:
- Recognize iPods as iPods, check for them in MakeDeviceUrls
- Give them a nice Icon in DeviceIcons (code taken from devicekitlister)
2020-08-28 16:48:13 +01:00
Clementine Buildbot 2d280734aa Automatic merge of translations from Transifex 2020-08-27 02:27:20 +00:00
dmdmdm 3a4d7f3a3d
Only enable main window rate button when LastFM is disabled (#6778) 2020-08-26 16:06:13 +01:00
Clementine Buildbot d3e3270227 Automatic merge of translations from Transifex 2020-08-26 02:27:24 +00:00
dmdmdm 44af6f9d5d Replaced the heart icon with a star for local files 2020-08-25 21:51:03 +01:00
dmdmdm c60c523185 Replaced the heart icon with a star for local files 2020-08-25 21:51:03 +01:00
Clementine Buildbot 6a078f93a3 Automatic merge of translations from Transifex 2020-08-21 02:27:21 +00:00
Clementine Buildbot fe33912886 Automatic merge of translations from Transifex 2020-08-19 02:27:16 +00:00
Clementine Buildbot 2a85d2c600 Automatic merge of translations from Transifex 2020-08-18 02:27:43 +00:00
Clementine Buildbot 70c79bd462 Automatic merge of translations from Transifex 2020-08-15 02:27:47 +00:00
Clementine Buildbot 8aa49902bd Automatic merge of translations from Transifex 2020-08-10 02:27:42 +00:00
Clementine Buildbot e932d421f7 Automatic merge of translations from Transifex 2020-08-04 02:27:34 +00:00
Clementine Buildbot 0e7cb988a7 Automatic merge of translations from Transifex 2020-08-03 02:27:25 +00:00
Clementine Buildbot b10222145e Automatic merge of translations from Transifex 2020-08-02 02:28:29 +00:00
Clementine Buildbot 222e142ad7 Automatic merge of translations from Transifex 2020-08-01 02:29:33 +00:00
Clementine Buildbot 2d3e2254f8 Automatic merge of translations from Transifex 2020-07-31 02:28:34 +00:00
dmdmdm d9fa56c179 Share the love: Minor corrections 2020-07-30 18:24:58 +01:00
dmdmdm acb75a5099 Share the love 2020-07-30 18:24:58 +01:00
dmdmdm 75264f314d Share the love 2020-07-30 18:24:58 +01:00
Keshav Kini 68d375c43c Use effective album artist for Repeat Album logic
When there is album artist information available for a track, the user would
probably expect that "Repeat Album" should cycle through all songs with the same
album artist and album title, not only all songs with the same artist and album
title.
2020-07-20 10:45:49 +01:00
Clementine Buildbot ee72793b5f Automatic merge of translations from Transifex 2020-07-17 02:29:12 +00:00
Jim Broadus 987fe047c6 Fix access past end of vector in getPsychedelicColor 2020-07-13 15:07:02 +01:00
Jim Broadus 1f7607b1db Get backend from application in PlaylistContainer::SetApplication
The manager's library backend may not be set when this is called.
2020-07-12 09:44:47 +01:00
Clementine Buildbot dd9ed23345 Automatic merge of translations from Transifex 2020-07-11 02:27:49 +00:00
Jim Broadus c75fa0077e Fix playlist memory leak
When the current playlist is changed, PlaylistContainer::SetViewModel is called
to set the new list. This calls PlaylistView::SetItemDelegates, which allocates
several objects that are never freed. Instead, move the call to SetItemDelegates
to PlaylistContainer::SetApplication, which is only called once.
2020-07-10 10:28:19 +01:00
Clementine Buildbot 3bfaf3ff38 Automatic merge of translations from Transifex 2020-07-09 02:28:42 +00:00
Mattias Andersson ebf9ebf080 Show only a basic tooltip in the system tray
For environments that implements the D-Bus
http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem
specification HTML is not supported in the tool tip title. (It is
supported in the tool tip subtitle but this field is not set by
QSystemTrayIcon.)

See the discussion in #6733 for more info.
2020-07-08 17:24:42 +01:00
Jim Broadus 7d28e8700b Call SettingsPage::showEvent from child class implementations 2020-07-07 10:35:02 +01:00
Clementine Buildbot 0fcb1df200 Automatic merge of translations from Transifex 2020-06-28 02:29:27 +00:00
Jim Broadus ad882cc999 Add static IsTypeSupported methods to playlist item classes 2020-06-23 11:06:06 +01:00
Jim Broadus 9455a3ef79 Use IsLocalLibraryItem instead of comparing type string 2020-06-23 11:06:06 +01:00
Clementine Buildbot cf279e6f48 Automatic merge of translations from Transifex 2020-06-21 02:27:27 +00:00
Jim Broadus 76a24a0a28 Use DbPlaylistItem base class for Jamendo and Magnatune
Moving these from LibraryPlaylistItem removes local file specific
implementations of IsLocalLibraryItem and Reload. Returning true for
IsLocalLibraryItem caused ratings to be set on unrelated library songs.
2020-06-19 11:18:32 +01:00
Jim Broadus f563b7da40 Add DbPlaylistItem base class to LibraryPlaylistItem
This will be used to move items from non-library databases away from the
LibraryPlaylistItem class.
2020-06-19 11:18:32 +01:00
Jim Broadus 247cc8f715 Add missing playlistitem.h to CMakeLists.txt 2020-06-19 11:18:32 +01:00
Clementine Buildbot 8c25c443cd Automatic merge of translations from Transifex 2020-06-19 02:28:31 +00:00
Jim Broadus 0d25a1b39c Properly delete ignored DeviceInfo object
Since the SimpleTreeItem constructor variant used from LoadAllDevices adds the
object to the parent's children list, use the parent's Delete method to destroy
it.
2020-06-19 00:10:54 +01:00
Clementine Buildbot 1ef5ec2590 Automatic merge of translations from Transifex 2020-06-18 02:27:25 +00:00
Clementine Buildbot 06544054a6 Automatic merge of translations from Transifex 2020-06-15 02:27:43 +00:00
Clementine Buildbot 56ed6d4f7e Automatic merge of translations from Transifex 2020-06-12 02:27:47 +00:00
Clementine Buildbot 6900197a8c Automatic merge of translations from Transifex 2020-06-10 02:28:25 +00:00
Jim Broadus cf8d2004bd Use deleteLater to destroy device backends 2020-06-07 14:46:13 +01:00
Jim Broadus c299c198de organise: Update the song preview when the selected destination's data changes
This will cause the file exensions to change when transcode options are changed.
2020-06-07 14:45:50 +01:00
Jim Broadus 4dd3233976 organise: Set extension override in OrganiseDialog
If the destination device has a transcode option set, then compute filenames
with updated extensions. This does not cover the case where Organise needs to
transcode due to format support.
2020-06-07 14:45:50 +01:00
Jim Broadus 2e921c6584 organise: Add a tag override mechanism to OrganiseFormat
Add a method to set override tag values when formatting a song name.
The use case for this is transcoding where the extension will change.
2020-06-07 14:45:50 +01:00
Jim Broadus 22cfade4a4 organise: Refresh filename after transcode 2020-06-07 05:34:08 +01:00
Clementine Buildbot 22537a4501 Automatic merge of translations from Transifex 2020-06-07 02:28:28 +00:00
Clementine Buildbot 4c9241db1a Automatic merge of translations from Transifex 2020-06-06 02:27:32 +00:00
Jim Broadus 236cfa7adf Don't include cdda code if HAVE_AUDIOCD isn't defined 2020-06-01 22:09:46 +01:00
Jim Broadus 3616a50d83 Don't modify the original request URLs when doing cdda fixup
The current URL is compared againt the unmodified next in some cases.
2020-06-01 22:09:46 +01:00
Jim Broadus 7e3cd84b5d Fix cdda playback
QUrl interprets a single number as an ip address, so the track URL cdda://1
would become cdda://0.0.0.1. A previous fix addresses this issue by adding an
extra character "a" to the affected URLs then removing the last instance of the
character upon usage. However, this didn't apply when a path was present
(cdda:///dev/sr0/1), but would still attempt to reverse the change later
(cdd:///dev/sr0/1).

This change applies the fix-up to all cdda urls and moves the conversion
utilities to a single location.

See: 335bc89c9 ("Workaround for broken CD playback in Qt5 (#6021)")
2020-06-01 22:09:46 +01:00
Clementine Buildbot bf3d3db234 Automatic merge of translations from Transifex 2020-06-01 02:27:31 +00:00
Clementine Buildbot 00f9597d37 Automatic merge of translations from Transifex 2020-05-31 02:27:35 +00:00
Clementine Buildbot c8d56776a8 Automatic merge of translations from Transifex 2020-05-30 02:28:35 +00:00
Clementine Buildbot 6f5fe724bb Automatic merge of translations from Transifex 2020-05-29 02:27:41 +00:00
dmdmdm a63a37a7ab Changed to translator comment 2020-05-28 19:40:57 +01:00
dmdmdm 32cb04f26b Change text for Original Year 2020-05-28 19:40:57 +01:00
SDNick484 ed0078b8d4 Adds missing QPainterPath include 2020-05-28 10:24:47 +01:00
Clementine Buildbot 1a73918f90 Automatic merge of translations from Transifex 2020-05-28 02:27:37 +00:00
dmdmdm f90babefa8 Minor smart playlist UI improvements 2020-05-27 21:02:24 +01:00
dmdmdm 0555cf5a35 Changed rgb() to rgba()
Avoids message:   
QCssParser::parseColorValue: Specified color without alpha value but alpha given: 'rgb 200, 200, 200, 75%'
2020-05-27 17:07:42 +01:00
Jim Broadus 84099f2491 Name all threads created by Application
In Application::MoveToNewThread, name the new thread after the object being
moved. Give those objects names as well.

The thread names display in gdb with "info threads".
2020-05-27 10:22:00 +01:00
Clementine Buildbot 5612c9cb5d Automatic merge of translations from Transifex 2020-05-27 02:28:50 +00:00