Commit Graph

272 Commits

Author SHA1 Message Date
Jonas Kvinge c0a2ad5f50 Change comment 2019-11-18 17:16:58 +01:00
Jonas Kvinge 1b65dcd7df Fix comparison between signed/unsigned 2019-11-15 00:23:06 +01:00
Jonas Kvinge 89b06ae7c7 Mulitply samples by channels, dont hardcode to 2 2019-11-09 16:34:17 +01:00
Jonas Kvinge 834877c503 Refactor gstreamer engine code, equalizer and fix stereo balancer 2019-11-08 23:07:21 +01:00
Jonas Kvinge d033b79af4 Remove exclusive for wasapisink
Fixes #283
2019-11-07 20:26:25 +01:00
Jonas Kvinge 4e593cebab Add const 2019-11-06 21:53:09 +01:00
Jonas Kvinge e838840548 Remove duplicate check 2019-11-03 19:56:10 +01:00
Jonas Kvinge 6a430b441e Remove debug line 2019-11-03 19:56:01 +01:00
Jonas Kvinge 7b977ea839 Rename EngineDevice --> DeviceFinders, Add MMDeviceFinder 2019-11-03 19:53:08 +01:00
Jonas Kvinge e800b236aa Simplify the pipeline
Fix issue where bitrate is updated incorrectly by stream discoverer
Fixes issue #282
Also make it possible to enable stereo balancer without enabling the
equalizer
2019-10-27 23:48:54 +01:00
Jonas Kvinge 4ab7871106 Add wasapisink to directsound devicefinder 2019-10-27 23:47:28 +01:00
Jonas Kvinge d9c703d944 Add gst/audio/audio.h include 2019-10-20 20:04:23 +02:00
Jonas Kvinge 364b650033 Convert S32LE to S16LE for analyzer 2019-10-20 18:52:58 +02:00
Jonas Kvinge 156eb874db Fix analyzer and cleanup old pipeline code
- Move HandoffCallback to audio queue
- Add new callback for detecting source format
- Remove old decodebin stuff
2019-10-20 02:56:47 +02:00
Jonas Kvinge abeb580228 Disable analyzer for other bit depths than 16
This removes the splitting of the pipeline with the tee.
Move HandoffCallback to the source, which makes it possible to convert the audio buffer in HandoffCallback later.
Until then just disable analyzer for other formats.

Removes tee and probe queue converter and sink
2019-10-19 01:45:24 +02:00
Jonas Kvinge 9821b70c38 Dont use gst_caps_to_string as it causes hang with some formats 2019-10-12 01:58:01 +02:00
Jonas Kvinge f4489e6807 No need to initialize SimpleMetaBundle here 2019-09-30 20:31:18 +02:00
Jonas Kvinge b57535c5ad Make gstreamer discoverer handle next url too 2019-09-23 01:03:03 +02:00
Jonas Kvinge 30ed362a8c Increase preload gap 2019-09-23 01:00:27 +02:00
Jonas Kvinge 3d3d641e1c Fix player not using preloaded stream url breaking gapless playback
Fixes #26
2019-09-22 22:47:07 +02:00
Jonas Kvinge defc0ada78 Fix compile warnings 2019-09-19 17:44:14 +02:00
Jonas Kvinge 4a9c9f8cd4 gstreamer: disconnect callbacks, avoid gst_discoverer_stop 2019-09-17 22:42:51 +02:00
Jonas Kvinge 2d67279180 Fix minor code issues 2019-09-15 20:27:32 +02:00
Jonas Kvinge d0eb1ba96e Avoid gst_discoverer_stop on all OSes except Linux 2019-09-14 20:11:29 +02:00
Jonas Kvinge 1cafaf3a79 Disable video for playbin 2019-09-12 18:07:10 +02:00
Jonas Kvinge c66c1e17d3 Make gstreamer pipeline detect filetype 2019-09-09 22:11:13 +02:00
Jonas Kvinge 57d9c87de6 Replace NULL with nullptr 2019-09-08 21:18:26 +02:00
Jonas Kvinge 795f95d855 Add gstreamer stream discoverer workaround for Windows
- gst_discoverer_stop seem to block
2019-09-08 21:07:56 +02:00
Jonas Kvinge fb377c32ea Initialize filetype and bitrate 2019-09-08 17:36:50 +02:00
Jonas Kvinge b462ec022a Remove unused variable 2019-09-07 23:50:26 +02:00
Jonas Kvinge e45a0bf24b Add stream discoverer to gstreamer pipeline and continuous updating of bitrate 2019-09-07 23:34:13 +02:00
Jonas Kvinge 9b45f0661e Add option to bundle gstreamer plugins on Linux 2019-08-27 22:29:48 +02:00
Jonas Kvinge d199a2be0d Fix typos and spelling 2019-08-22 18:45:32 +02:00
Jonas Kvinge bd78e8c275 Fix memory leaks 2019-07-22 20:53:05 +02:00
Jonas Kvinge 7fa1461d5e Use QUrl::isLocalFile() 2019-07-09 21:43:56 +02:00
Jonas Kvinge 65780e1672 Improve album cover searching and cover manager, use HttpStatusCodeAttribute and QSslError for services
- Improve album cover manager
- Change art_automatic and art_manual to QUrl
- Refresh collection album covers when new album covers are fetched
- Fix automatic album cover searching for local files outside of the collection
- Make all Json services check HttpStatusCodeAttribute
- Show detailed SSL errors for Subsonic, Tidal and Qobuz
2019-07-07 21:14:24 +02:00
Jonas Kvinge aec9df1882
Switch to queue2 for probe queue (#204) 2019-07-05 23:50:57 +02:00
Jonas Kvinge d413f2c3a7 Revert "Try queue2 for probe queue"
This reverts commit a9c162476c.
2019-07-03 02:24:32 +02:00
Jonas Kvinge a9c162476c Try queue2 for probe queue 2019-07-02 00:47:10 +02:00
Jonas Kvinge a9da8811fc Turn off ssl-strict in gst pipeline 2019-06-17 23:01:38 +02:00
Jonas Kvinge 8b05af7ca3 Make xine analyzer optional 2019-05-28 18:37:51 +02:00
Jonas Kvinge cecae7cdc3 Fix xine metronom compile 2019-05-27 21:56:07 +02:00
Jonas Kvinge e5f3123567 Fix gst_pad_send_event block in ErrorMessageReceived() 2019-05-27 21:39:38 +02:00
Jonas Kvinge 193fa176dc Detach vlc callbacks 2019-04-25 00:54:57 +02:00
Jonas Kvinge 0a1dfeb860 Fix some minor vlc issues 2019-04-23 19:20:46 +02:00
Jonas Kvinge 3c6c9741ff Fix vlc crash 2019-04-21 22:24:24 +02:00
Jonas Kvinge 239f58e290 Only create audiopanorama when equalizer is enabled 2019-04-21 20:13:03 +02:00
Jonas Kvinge 60a9154326 Fix equalizer 2019-04-20 22:23:22 +02:00
Jonas Kvinge f761b8d4e1 Fix includes 2019-04-20 17:36:42 +02:00
Jonas Kvinge 3ed6817ac9 Initialize gstreamer independent of witch engine is used 2019-04-20 15:25:31 +02:00
Jonas Kvinge 907d18a83a Add moodbar 2019-04-18 15:03:01 +02:00
Jonas Kvinge 9be161d165 Fix code style and errors 2019-04-08 18:46:11 +02:00
Jonas Kvinge 6e463d1de3 Remove broken mono playback setting 2019-03-27 00:31:47 +01:00
Jonas Kvinge 21970f3065 Fix gst leaks 2019-03-27 00:27:49 +01:00
Jonas Kvinge 380f2509ac Remove deezer 2019-03-09 17:43:20 +01:00
Jonas Kvinge 3e658845d2 Add option to disable volume control 2019-03-09 16:48:45 +01:00
Jonas Kvinge 384209ba70 Fix UNC path in gst engine 2019-02-25 16:35:29 +01:00
Jonas Kvinge 954e0e8a59
Add translations support (#82)
* Add translations support
* Update .gitignore
2019-02-22 20:24:38 +01:00
Jonas Kvinge 513aafca16 Disable fading when alsa device is selected 2019-01-09 20:02:40 +01:00
Jonas Kvinge c271e05abc Use Q_OS_MACOS instead of Q_OS_DARWIN 2019-01-04 00:39:22 +01:00
Jonas Kvinge 030106986b Fix Utilities::SetEnv 2019-01-03 23:18:39 +01:00
Jonas Kvinge 7d8ba57e5f Fix bundle dir for macOS 2019-01-03 23:18:39 +01:00
Jonas Kvinge d3bcb38669 Fix macos build 2019-01-01 22:06:48 +01:00
Jonas Kvinge 4641115314 Rename macos device finder 2019-01-01 20:22:19 +01:00
Jonas Kvinge 1023a3da6f Fix some copyrights 2018-12-29 03:21:15 +01:00
Jonas Kvinge 9d09e7f6fe Remove dead code 2018-11-17 03:23:22 +01:00
Jonas Kvinge 072a3065cd Don't set paths for gst scanner and plugins on macos 2018-11-15 20:20:30 +01:00
Jonas Kvinge e35d618133 Make Deezer engine use quality setting 2018-11-09 19:27:36 +01:00
Jonas Kvinge 67c889f982 Improve Xine engine code 2018-10-30 23:40:41 +01:00
Jonas Kvinge 08cba25071 Improve VLC error handling 2018-10-30 23:40:05 +01:00
Jonas Kvinge ff35b01bac Improve gst engine error handling 2018-10-30 23:39:08 +01:00
Jonas Kvinge faee1977fe Add better error handling between engine and player 2018-10-30 23:21:51 +01:00
Jonas Kvinge 0c10013858 Ops 2018-10-23 21:14:58 +02:00
Jonas Kvinge 3e9530fa8d Set metadata from deezer engine 2018-10-23 20:21:33 +02:00
Jonas Kvinge ba8717f95a Fix Deezer engine error state 2018-10-22 23:04:34 +02:00
Jonas Kvinge 3a02ece169 Add EnsureInitialised() 2018-10-22 20:40:02 +02:00
Jonas Kvinge 0cda4e27aa Replace qSort/qStableSort/qSwap 2018-10-19 20:18:46 +02:00
Jonas Kvinge 9eadeddfd9 Fixup and finish deezer engine 2018-10-19 19:15:33 +02:00
Jonas Kvinge a9e905b301 Fix bug not loading engine 2018-10-17 22:55:36 +02:00
Jonas Kvinge 0a81fa99fc Add Deezer support 2018-10-14 00:08:33 +02:00
Jonas Kvinge 1fbfabdf66 Remove whitespaces 2018-10-02 00:46:54 +02:00
Jonas Kvinge db035351be Remove whitespaces 2018-10-02 00:38:52 +02:00
Jonas Kvinge 36563cd1e1 Fix compile 2018-09-22 23:32:11 +02:00
Jonas Kvinge 072e712f0d Add missing QUrl include 2018-09-22 23:30:19 +02:00
Jonas Kvinge 121a186160 Improve contextview and engine code 2018-09-22 23:13:56 +02:00
Jonas Kvinge 8a57356f64 More Tidal fixes 2018-09-22 15:37:42 +02:00
Jonas Kvinge c77cb002f3 Add support for both ALSA hw and plughw 2018-09-21 23:29:00 +02:00
Jonas Kvinge 5e577190a8 Fix some copyrights 2018-09-21 01:12:21 +02:00
Jonas Kvinge 0143617056 Fix bug setting wrong temp metadata and bug in pipeline 2018-09-21 00:34:02 +02:00
Jonas Kvinge ac6cac8da1 New context with albums and lyrics +++ much more
* Added new lyrics provider with lyrics from AudD and API Seeds
* New improved context widget with albums and lyrics
* Fixed playing and context widget getting stuck in play mode when there was an error
* Changed icons for artists in collection, tidal and cover manager
* Removed "search" icon from "Search automatically" checkbox (right click) that looked ugly
* Removed some unused widgets from the src/widgets directory
* Fixed initial size of window and side panel
* Fixed saving window size correctly
2018-08-29 21:42:24 +02:00
Jonas Kvinge 41b0b1efd4 Remove broken xine fader until it's properly fixed 2018-08-12 15:05:34 +02:00
Jonas Kvinge c518e42e18 Remove whitespace 2018-08-09 18:39:44 +02:00
Jonas Kvinge 820124f9e1 Add tidal support 2018-08-09 18:10:03 +02:00
Jonas Kvinge 26062bd07b Remove unneeded include 2018-07-28 00:16:56 +02:00
Jonas Kvinge 73029ab7a2 Remove dead analyzer code from VLC engine 2018-07-28 00:09:39 +02:00
Jonas Kvinge 670cd4e081 Remove unused variable 2018-07-05 03:28:32 +02:00
Jonas Kvinge ab3569a285 More macos fixes 2018-07-03 17:51:52 +02:00
Jonas Kvinge ada7325a04 Fix macos build 2018-07-01 22:26:46 +02:00
Jonas Kvinge 3894419b14 More engine fixes 2018-07-01 15:30:53 +02:00
Jonas Kvinge 04f1d296ea More engine fixes 2018-07-01 01:29:52 +02:00
Jonas Kvinge fc66e2e2c7 Fixes to xine engine 2018-06-28 23:12:39 +02:00
Jonas Kvinge 985b91e5f4 Fix setting output/device for Xine and VLC backend
- Fixed setting output and device on Xine and VLC backend
- Fixed track slider for Xine, VLC and Phonon
- Improved backend settings to better support multiple backends
- Added group by samplerate and bitdepth in collection
- Fixed crash on exit when existing instance of the application is already runnung caused by NVIDIA driver
- Changed Q_OS_MAC to Q_OS_MACOS
2018-06-28 01:15:32 +02:00
Jonas Kvinge 008c39cd00 Add gstsink to devicefinder 2018-06-17 15:07:11 +02:00
Jonas Kvinge 416beb6b8e Use BOOST_SCOPE_EXIT 2018-06-12 00:26:08 +02:00
Jonas Kvinge 60b55b6d7d Improvements to device selection 2018-06-07 19:38:40 +02:00
Jonas Kvinge d45f8672cd Fix pulseaudio device selection 2018-06-07 02:06:12 +02:00
Jonas Kvinge f9c2801db1 Cleanup alsadevicefinder
Signed-off-by: Jonas Kvinge <jonas@jkvinge.net>
2018-05-22 22:36:32 +02:00
Jonas Kvinge eab25bbd17 Improvements to makefiles
- Added cmake file to find D-Bus
- Removed remaining AddEngine stuff
- Fixed cross compiling for windows trying to use dbus after previous commit
- Compilation tested on Linux, FreeBSD, OpenBSD and cross compilation from linux for windows using mingw compiler
2018-05-15 00:25:30 +02:00
Jonas Kvinge f329b7239a Update README 2018-05-07 21:32:40 +02:00
Jonas Kvinge 0b8e1f89d7 Don't fail playback without replay gain 2018-05-01 14:00:26 +02:00
Jonas Kvinge ad2b567216 Fix playback of WavPack 2018-05-01 13:34:32 +02:00
Jonas Kvinge e337b7933b Includes, comments and bugfixes
- Fix includes
- Use common regex (Song::kCoverRemoveDisc) for removing Disc/CD from album
- Remove Disc/CD from album when creating hash
- Make imobiledevice support compile
- Fix setting device on windows
2018-05-01 00:41:33 +02:00
Jonas Kvinge 68d88d1a40 Remove redundant code. 2018-04-07 12:20:31 +02:00
Jonas Kvinge 1b32e61aba Remove redundant code. 2018-04-07 12:19:01 +02:00
Jonas Kvinge 917b9c39b8 Fix paths
- Use QStandardPaths
- Load settings in StatusView widget
- Update about
- Remove redundant code
- Temporary hide missing audiopanorama error as workaround for windows build
2018-04-06 22:13:11 +02:00
Jonas Kvinge 43bf7e3ca8 Improvments to gstreamer backend and settings +++
- Fixed bug not setting environment for gstreamer before initialization
- Fixed windows directsound device
- Fixed crash on failure to create gstreamer element
- Fixed crash when switching backend
- Don't stop playback if equalizer or replay gain fails in gstreamer
- Improvments to backend settings
- Fixed backend settings to work for windows
- Fixed replay gain settings not working
- Fixed right click menu for album showing in statusview even when no song was playing
- Removed redundant code
2018-04-05 21:40:05 +02:00
Jonas Kvinge 6bbc1271e4 Fix cross build for windows. 2018-04-02 18:35:58 +02:00
Jonas Kvinge 1817127a90 Improvements to gstreamer backend.
- Use PlayBin instead of URIDecodeBin
- Change QUrl to QByteArray in pipeline
- Move URL stuff to FixupUrl() in GstEngine
2018-04-02 03:43:56 +02:00
Jonas Kvinge 16cabf33a2 Code cleanup. 2018-03-10 13:02:56 +01:00
Jonas Kvinge e5426500a8 Fix CD playback. 2018-03-10 13:00:09 +01:00
Jonas Kvinge 887e045a63 Fix crash when loading CD playlists 2018-03-04 20:13:05 +01:00
Jonas Kvinge b2b1ba7abe Initial commit. 2018-02-27 18:06:05 +01:00