Coder Social home page Coder Social logo

strawberrymusicplayer / strawberry Goto Github PK

View Code? Open in Web Editor NEW
2.4K 47.0 157.0 49.79 MB

:strawberry: Strawberry Music Player

Home Page: https://www.strawberrymusicplayer.org/

License: GNU General Public License v3.0

CMake 1.81% CSS 0.06% C++ 96.09% C 0.22% Objective-C 0.35% Objective-C++ 1.45% HTML 0.02%
strawberry strawberry-music-player audio audio-player music music-player high-end bitperfect bitperfect-player c-plus-plus

strawberry's People

Contributors

bespsm avatar bongochong avatar buckmelanoma avatar calio-templar avatar cquike avatar dakes avatar dependabot[bot] avatar eclipseo avatar emmanuelmess avatar fbugno avatar firefragment avatar fletcherd avatar jonaski avatar kicer86 avatar lassana avatar lebedevri avatar lunarequest avatar m4x3t avatar martindelille avatar nicolastoussaint avatar reverier-xu avatar samtshaw avatar sboukortt avatar spezifisch avatar staticssleever668 avatar strawbsbot avatar tpmkranz avatar trebmuh avatar wonder93 avatar yavuzmert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

strawberry's Issues

Show user's favorite items in Tidal

Would be nice to have support for browsing thru my favorites on Tidal, incl. playlists, albums, artists. There is currently no way to save favorite albums in strawbs

[bug] Library UI Pane behaving unexpectedly

System Information

OS: KDE Neon 5.14.3
QT Version: 5.11.2
Strawberry Version: 0.4.1 Release, Behavior also observed in 36-g77e5d02 build

Bug Symptoms

Folders in the library paine don't always expand/collapse when clicked. The folders that are non responsive cannot be added to the main playlist. Also possibly related: content, queue, and playlist buttons to the left of the library pane are not resposive when clicked, except for the fact that they show being selected.

album artwork

cover thumbnails are not displayed if image is in directory inside the album directory.
•walk around for that would be a rule to look for given file names inside any existing sub–directory. it could also ignore other words in the filename if given rule as asterisk (*front*,*cover* – etc).
•another walk around is to put automatically downloaded cover (one that's generated in low corner) as invisible in listened album, instead of somewhere in the system.
if i may add for me personally the first solution seems more reasonable as it doesn't create additional files/mess in ones collection.

image

Segfault when plugging in a Phone in MTP mode

Steps to reproduce:

  • open strawberry
  • plug in a phone in MTP mode via USB
  • Strawberry crashes
14:18:12.188 DEBUG MainWindow:790                   Started
14:18:12.205 INFO  DeviceManager:333                Device added: "Gio/unmounted/140329130939040"
14:18:12.206 INFO  DeviceManager:333                Device added: "Gio/unmounted/140329063858816"
14:18:12.206 INFO  DeviceManager:333                Device added: "Gio/unmounted/140329063858960"
14:18:12.258 DEBUG PlaylistBackend:277              Saving playlist 1
14:18:12.298 DEBUG GnomeGlobalShortcutBackend:96    registered
14:18:12.588 INFO  DeviceManager:385                Device removed: "Gio/unmounted/140329130939040"
14:18:12.588 INFO  DeviceManager:333                Device added: "Gio//mtpfs/0"
14:18:12.605 WARN  IconLoader:58                    Couldn't load icon "phone"
14:18:14.733 INFO  DeviceManager:385                Device removed: "Gio//mtpfs/0"
14:18:18.924 INFO  DeviceManager:333                Device added: "Gio/unmounted/140329130939184"
14:18:18.995 INFO  DeviceManager:385                Device removed: "Gio/unmounted/140329130939184"
14:18:18.995 INFO  DeviceManager:333                Device added: "Gio//mtpfs/0"
14:18:19.008 WARN  IconLoader:58                    Couldn't load icon "phone"
Segmentation fault

strawberry crashes on wayland session

i don't have the knowledge to judge whether it's strawberry, qt, or wayland issue.

here is output from terminal:

`aleksander@B75TN:~$ strawberry
12:39:13.166 INFO main:154 Strawberry 0.4.2
12:39:13.284 DEBUG NetworkProxyFactory:55 Detected system proxy URLs: ("", "", "", "")
12:39:13.289 DEBUG WorkerPool:277 Starting worker 0x7f4df25b7420 "/usr/local/bin/strawberry-tagreader" "/tmp/strawberry_46862655"
12:39:13.291 DEBUG WorkerPool:277 Starting worker 0x7f4df25b7420 "/usr/local/bin/strawberry-tagreader" "/tmp/strawberry_136968786"
12:39:13.305 INFO main:54 TagReader worker connecting to "/tmp/strawberry_46862655"
12:39:13.306 DEBUG WorkerPool:295 Worker 0x7f4ddc0064f0 connected to "/tmp/strawberry_46862655"
12:39:13.305 INFO main:54 TagReader worker connecting to "/tmp/strawberry_136968786"
12:39:13.306 DEBUG WorkerPool:295 Worker 0x7f4ddc007b70 connected to "/tmp/strawberry_136968786"
__logging_message__12:39:13.397 WARN unknown Icon theme "Papirus-Dark" not found.
__logging_message__12:39:13.398 WARN unknown Icon theme "gnome" not found.
12:39:13.429 DEBUG QxtGlobalShortcutBackend:39 registering
__logging_message__12:39:13.430 WARN unknown QSocketNotifier: Invalid socket 33 and type 'Read', disabling...
__logging_message__12:39:13.430 WARN unknown QSocketNotifier: Invalid socket 28 and type 'Read', disabling...
__logging_message__12:39:13.431 WARN unknown QSocketNotifier: Invalid socket 22 and type 'Read', disabling...
12:39:13.435 ERROR Database:571 db error: QSqlError("10", "Unable to fetch row", "disk I/O error")
12:39:13.435 ERROR Database:572 faulty query: "select COUNT(distinct artist) from songs WHERE unavailable = 0"
12:39:13.435 ERROR Database:573 bound values: QMap()
12:39:13.436 ERROR Database:571 db error: QSqlError("10", "Unable to fetch row", "disk I/O error")
12:39:13.436 ERROR Database:572 faulty query: "select COUNT(distinct album) from songs WHERE unavailable = 0"
12:39:13.436 ERROR Database:573 bound values: QMap()
12:39:13.436 ERROR Database:571 db error: QSqlError("10", "Unable to fetch row", "disk I/O error")
12:39:13.436 ERROR Database:572 faulty query: "SELECT ROWID, path FROM directories"
12:39:13.436 ERROR Database:573 bound values: QMap()
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = strawberry path = /usr/local/bin pid = 7149
KCrash: Arguments: /usr/local/bin/strawberry
KCrash: Attempting to start /usr/lib/x86_64-linux-gnu/libexec/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__1

[1]+ Stopped strawberry
aleksander@B75TN:~$ __logging_message__12:39:46.855 WARN unknown QSocketNotifier: Invalid socket 7 and type 'Read', disabling...
__logging_message__12:39:46.855 WARN unknown QSocketNotifier: Invalid socket 15 and type 'Read', disabling...
__logging_message__12:39:46.862 WARN unknown QSocketNotifier: Invalid socket 17 and type 'Read', disabling...`

No gapless playback in Tidal streams

There is an extra gap of about one second between tracks - especially noticeable on live albums.
Would it be possible to have some pre-loading of the next song on the playlist to prevent this?
Strawberry version - 0.4.1
All the best.

[TIDAL] Subscription error message unclear

The real error was that my subscription wasn't active, but the error recieved in code alludes to that Requested quality is not allowed in user's subscription but the error I got was No URI handler implemented for "tidal" which is misleading and unclear, I think you can just propogate the error from tidal

13:39:25.736 DEBUG Player:279                       URL handler for QUrl("tidal:17793623") is loading asynchronously
13:39:25.989 ERROR TidalService:904                 Tidal: "Requested quality is not allowed in user's subscription"
13:39:25.989 DEBUG Player:247                       URL handler for QUrl("tidal:17793623") returned QUrl("tidal:17793623")
13:39:25.993 ERROR GstEnginePipeline:575            ErrorMessageReceived 3 "gsturidecodebin.c(1427): gen_source_element (): /GstPlayBin:playbin-30/GstURIDecodeBin:uridecodebin2"
13:39:26.024 ERROR GstEngine:562                    Gstreamer error: 4024 12 "No URI handler implemented for \"tidal\"."
13:39:26.024 ERROR logging:60                       Source ID 873 was not found when attempting to remove it
__logging_message__13:39:26.025 WARN  unknown                          QTimeLine::start: already running

Adplug support

Hello,
I would be interested in adding support for playback of impulse tracker music formats (old video game music) with Adplug : https://github.com/adplug/adplug

where should I look into the code to be able to do this ? Thanks !

"strawberry" received signal SIGABRT

/usr/include/c++/8/bits/stl_vector.h:932: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::reference = float&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.

Thread 1 "strawberry" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50        return ret;

on Fedora 29, latest release, the segfault happens after starting to play a track.

support for DSD files

Hi,
Strawberry is a great idea to have a good HQ music player but I can't find a way to play DSD files, it's a miss in gstreamer/vlc backends or a missing filter in the app ?
Thanks !

media keys don't wok on Linux Mint

play/pause/ff/rw dont respond (it does on clementine).
Using GStreamer -> Alsa -> Meridian Explorer USB DAC

when adjusting the volume on my keyboard I still get the popup which indicates volume changes, but it doesn't change the volume, only when i manually adjust it in strawberry.

with Use gnome keys enabled or disabled.

appearances: have animated icon as in clementine

would it be possible to have an animated icon as it is currently in clementine? seems like a cool kids feature, but it's actually really useful. additional setting for easy customizing it would be overkill.

Scrobble to last.fm

Hi. Have been using Clementine for years and tested Strawberry but the only feature I want is missing and thats is to scrobble to last.fm

Resume only works for playlist number 1

Seems strawberry only remembers track position (resume playback position after closing strawberry) for a given file if its in your collection. If for example you download a podcast and add it to a playlist regardless of if the playlist is saved or not, it will not remember playback time / position.

If its feasible It would be nice if I didn't have to add files I will only listen to once, to strawberry's database / collection in order to take advantage of this feature.

Thank you.

EDIT:
Upon further testing it appears playback will resume but only on the default playback queue / playlist not additional playlists you create. This isn't an issue for me if I have to do it that way, feel free to close.

libdeezer installation

i installed the latest deb for ubuntu xenial and it wouldn't load.
Turns out it was looking for libdeezer. I eventually figured it out, but it should either ship with it, or have clear instructions on how to add it, or just not break if it's not installed.

for others, download the deezer sdk (link in readme) and then drop the appropriate .so into /usr/lib

for Mint 18 I copied this lib from the archive path /deezer-native-sdk-v1.2.10/SDK/Bins/Platforms/Linux/x86_64/libdeezer.so

Click/pop sound with ALSA

On changing tracks manually there is an unpleasant click/pop sound - appears only when using ALSA and selecting output device manually - I've attached a screenshot of my settings.
No such problem when using automatic selection or PulseAudio.
Strawberry version - 0.4.1
All the best.
screenshot from 2018-11-04 17-50-12

cannot build

what i get is:

`[ 22%] Building CXX object src/CMakeFiles/strawberry_lib.dir/playlist/playlisttabbar.cpp.o

[ 22%] Building CXX object src/CMakeFiles/strawberry_lib.dir/playlist/playlistundocommands.cpp.o
/home/aleksander/strawberry/src/context/contextalbumsview.cpp: In member function 'virtual void
ContextAlbumsView::contextMenuEvent(QContextMenuEvent*)':
/home/aleksander/strawberry/src/context/contextalbumsview.cpp:408:14: error: unused variable 'regular_elements_only' [-Werror=unused-variable]
const bool regular_elements_only = songs_selected == regular_elements && regular_elements > 0;
^~~~~~~~~~~~~~~~~~~~~
[ 22%] Building CXX object src/CMakeFiles/strawberry_lib.dir/playlist/playlistview.cpp.o
[ 22%] Building CXX object src/CMakeFiles/strawberry_lib.dir/playlist/songloaderinserter.cpp.o
cc1plus: all warnings being treated as errors
src/CMakeFiles/strawberry_lib.dir/build.make:2677: recipe for target 'src/CMakeFiles/strawberry_lib.dir/context/contextalbumsview.cpp.o' failed
make[2]: *** [src/CMakeFiles/strawberry_lib.dir/context/contextalbumsview.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:438: recipe for target 'src/CMakeFiles/strawberry_lib.dir/all' failed
make[1]: *** [src/CMakeFiles/strawberry_lib.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
`

any ideas?

Songs don't show up in devices

The songs never show up under the device. I've tested with both CD and an iPod.
It reads the songs from the device fine, and calls CollectionModel::SongsDiscovered fine with the songlist. It also seem to work as expected in the model, but DeviceItemDelegate::paint() is never reached.

Custom color set causes freeze

Both issues address settings from Appearances:

•Selecting „Use custom color set” freezes strawberry instantly. this is repetitive and happens every time i select it. even animation from radio button is not finishing. there is no output from systems console to track down the issue. any other way to hunt–down the reason?

•Custom image as background is not respected – it displays tiled strawberries instead. same behavior occurs if „No background image” is selected. additionally as can be noticed on the picture below, path to chosen png is greyed-out each time application restarts.

image

sidebar bugs

i've discovered two bugs with the „sidebar”.
https://i.imgur.com/dMr3lt9.png

  1. titles have unnecessary signs in it
  2. selecting icons on top won't be remembered upon application restart

this is (pre-compiled) version 0.4.2-12-g1706ba5 running on ubuntu based system.

Scroll over icon to change track — ignored

In settings behavior there is an option to change track on mouse wheel scroll. enabling this has no effect. if i recall correctly – if disabled – scrolling over icon should change volume inside app, but this doesn't happen either.

sorry for so many reports, but it's bug–hunting season here ;)

Strawberry crash on Fedora

I'm on Fedora 28 and so far Strawberry worked well but now when i want to listen music i have this :

/usr/include/c++/8/bits/stl_vector.h:932: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::reference = float&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed. Aborted (core dumped)

And i don't unsertsand what's wrong. Everything was fine before.

Can't make

(In my Arch/Fluxbox/Qt5.10 system)

Before make, cmake .. /strawberry doesn't work as there's no …/strawberry/strawberry directory. cmake .. works, but only after installing boost so it would be convenivent to list boost dependencies in the README.

And make fails with:

[ 44%] Generating ui_transcoderoptionswma.h
Scanning dependencies of target strawberry_lib
[ 44%] Building CXX object src/CMakeFiles/strawberry_lib.dir/core/mainwindow.cpp.o
In file included from /home/burak/Downloads/strawberry/src/core/mainwindow.cpp:111:0:
/home/burak/Downloads/strawberry/src/widgets/stylehelper.h:34:10: fatal error: QtGui/QStyle: No such file or directory
#include <QtGui/QStyle>
^~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/strawberry_lib.dir/build.make:1662: src/CMakeFiles/strawberry_lib.dir/core/mainwindow.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:478: src/CMakeFiles/strawberry_lib.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

By the way, my favourite is Autumn, though Dave Cousins could probably make rather mediocre songs sound beautiful as well!

Tidal URL's expire

A feature should be implemented to request the URL again when playing the song if the URL is expired.

No Tidal support on OpenBSD?

Hi!

I just spent quite a while compiling Strawberry using the OpenBSD port linked on strawbs.org, but I'm not finding any Tidal or Deezer settings?

The settings screen looks like this:

settings

Best regards,
John

Ratings

Nice program, but I see no way to view or set ratings

Native Icon Theme Support

Its something Clementine has that Strawberry seems to have removed.
On the same topic, it should probably be the default on Linux to inherit the system icon theme all the time and just use the qt4 / kde4 icon bundle Clementine had on Windows and OSX.

Crossfade with ALSA device results in failure to play on song switch

To reproduce use the following settings (use own device) and start playing one song then double click to start playing a second song (without stopping the first song).

  • Backend
    ** Backend: GStreamer
    ** Output: to sound card via ALSA
    ** Device: Meridian Explorer USB DAC
  • Playback
    ** Cross-fade when changing tracks manually: true

Logs:

10:02:05.748 ERROR GstEnginePipeline:575            ErrorMessageReceived 2 "gstalsasink.c(858): gst_alsasink_open (): /GstBin:audiobin/GstAlsaSink:alsasink-16:\nDevice 'hw:1,0' is busy"
10:02:05.791 ERROR GstEngine:553                    Gstreamer error: 4227 4 "Could not open audio device for playback. Device is being used by another application."
__logging_message__10:02:05.793 WARN  unknown                          QTimeLine::start: already running
10:02:09.661 ERROR logging:60                       Source ID 34 was not found when attempting to remove it

This can be quite a pita, I'd suggest that for a phase 1 you just ignore the crossfade settings for alsa devices, because I can imagine that mixing the audio will be a lot of work.

Read artwork from DSF / DSDIFF files

Playing DSF / DSDIFF files now works with gstreamer 1.15 or higher (unreleased).
Support for reading embedded artwork needs to be implemented.

Finish Xine support

Get volume, track progress, output device and equalizer working.
Xine seem to be pretty broken on my system.

Appimage or Flatpak?

I really want to try this software since Clementine is qt4 and hasn't been updated in a long time. The problem is that I am using a distro (Solus) that does not support the packages being offered on your website. Is it too much to ask for either an Appimage or Flatpak so that we can try it or use it on a distro?

crash when playback selected track

martin@fc29 ~]$ gdb strawberry
GNU gdb (GDB) Fedora 8.2-2.fc29
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from strawberry...Reading symbols from /usr/lib/debug/usr/bin/strawberry-0.3.3-1.fc29.x86_64.debug...done.
done.

(gdb) r

Starting program: /usr/bin/strawberry
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: Loadable section ".note.gnu.property" outside of ELF segments
[New Thread 0x7fffe5165700 (LWP 22926)]
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[New Thread 0x7fffdfbb1700 (LWP 22927)]
[New Thread 0x7fffdf3b0700 (LWP 22928)]
[New Thread 0x7fffdebaf700 (LWP 22929)]
[New Thread 0x7fffde3ae700 (LWP 22930)]
[New Thread 0x7fffdd98d700 (LWP 22931)]
warning: Loadable section ".note.gnu.property" outside of ELF segments
[New Thread 0x7fffdd0ca700 (LWP 22933)]
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[New Thread 0x7fffb7fff700 (LWP 22934)]
[New Thread 0x7fffb77fe700 (LWP 22935)]
[New Thread 0x7fffb6ffd700 (LWP 22936)]
[New Thread 0x7fffb67fc700 (LWP 22937)]
[Detaching after fork from child process 22938]
[Detaching after fork from child process 22939]
[New Thread 0x7fffb5ffb700 (LWP 22945)]
[New Thread 0x7fffb57fa700 (LWP 22946)]
[New Thread 0x7fffb4ff9700 (LWP 22947)]
[New Thread 0x7fff9bfff700 (LWP 22948)]
[New Thread 0x7fff9b7fe700 (LWP 22949)]
[New Thread 0x7fff9affd700 (LWP 22950)]
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread 0x7fffdebaf700 (LWP 22929) exited]
[New Thread 0x7fffdebaf700 (LWP 22953)]
[New Thread 0x7fff8ca8b700 (LWP 22954)]
[New Thread 0x7fff8ca8b700 (LWP 22955)]
[Thread 0x7fff8ca8b700 (LWP 22954) exited]
[New Thread 0x7fff77fff700 (LWP 22956)]
[New Thread 0x7fff777fe700 (LWP 22957)]
[New Thread 0x7fff76ffd700 (LWP 22958)]
warning: Loadable section ".note.gnu.property" outside of ELF segments
[New Thread 0x7fff767fc700 (LWP 22959)]
[New Thread 0x7fff75ffb700 (LWP 22960)]
[New Thread 0x7fff757fa700 (LWP 22961)]
[New Thread 0x7fff74ff9700 (LWP 22962)]
[New Thread 0x7fff747f8700 (LWP 22963)]
[New Thread 0x7fff73ff7700 (LWP 22964)]
[New Thread 0x7fff737f6700 (LWP 22965)]
[New Thread 0x7fff72ff5700 (LWP 22966)]
[New Thread 0x7fff727f4700 (LWP 22967)]
[New Thread 0x7fff71ff3700 (LWP 22968)]
/usr/include/c++/8/bits/stl_vector.h:932: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::reference = float&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.

Thread 1 "strawberry" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 return ret;
(gdb) bt
#0 0x00007ffff58d053f in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007ffff58ba895 in __GI_abort () at abort.c:79 #2 0x00005555557d3c28 in std::__replacement_assert(char const*, int, char const*, char const*) (__file=__file@entry=0x555555b14b30 "/usr/include/c++/8/bits/stl_vector.h", __line=__line@entry=932, __function=__function@entry=0x555555d9e960 <_ZZNSt6vectorIfSaIfEEixEmE19__PRETTY_FUNCTION__> "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::reference = f"..., __condition=__condition@entry=0x555555b14b00 "__builtin_expect(__n < this->size(), true)") at /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h:2391 #3 0x0000555555a3a33f in std::vector<float, std::allocator<float> >::operator[](unsigned long) (__n=<optimized out>, this=0x5555560a2aa8) at /usr/src/debug/strawberry-0.3.3-1.fc29.x86_64/src/analyzer/analyzerbase.cpp:106 #4 0x0000555555a3a33f in Analyzer::Base::paintEvent(QPaintEvent*) (this=0x5555560a2a60, e=0x7fffffffafb0) at /usr/src/debug/strawberry-0.3.3-1.fc29.x86_64/src/analyzer/analyzerbase.cpp:100 #5 0x00007ffff6a69c58 in QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5 #6 0x00007ffff6a2ab05 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #7 0x00007ffff6a32220 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #8 0x00007ffff6134456 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5 #9 0x00007ffff6a6277e in QWidgetPrivate::sendPaintEvent(QRegion const&) () at /lib64/libQt5Widgets.so.5 #10 0x00007ffff6a63037 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #11 0x00007ffff6a63c31 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #12 0x00007ffff6a62cbc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #13 0x00007ffff6a63c31 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #14 0x00007ffff6a62cbc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #15 0x00007ffff6a63c31 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #16 0x00007ffff6a63b20 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #17 0x00007ffff6a62cbc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #18 0x00007ffff6a63c31 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #19 0x00007ffff6a62cbc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #20 0x00007ffff6a63c31 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #21 0x00007ffff6a62cbc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #22 0x00007ffff6a63c31 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #23 0x00007ffff6a62cbc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #24 0x00007ffff6a63c31 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #25 0x00007ffff6a63b20 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #26 0x00007ffff6a63b20 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #27 0x00007ffff6a62cbc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib64/libQt5Widgets.so.5 #28 0x00007ffff6a3a11c in QWidgetBackingStore::doSync() () at /lib64/libQt5Widgets.so.5 #29 0x00007ffff6a3a2d1 in QWidgetBackingStore::sync() () at /lib64/libQt5Widgets.so.5 #30 0x00007ffff6a51ac5 in QWidgetPrivate::syncBackingStore() () at /lib64/libQt5Widgets.so.5 #31 0x00007ffff6a69d88 in QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5 --Type <RET> for more, q to quit, c to continue without paging-- #32 0x00007ffff6b733f8 in QMainWindow::event(QEvent*) () at /lib64/libQt5Widgets.so.5 #33 0x00007ffff6a2ab05 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #34 0x00007ffff6a32220 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #35 0x00007ffff6134456 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5 #36 0x00007ffff613762b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5 #37 0x00007ffff6184d27 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5 #38 0x00007ffff78af26d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #39 0x00007ffff78af638 in () at /lib64/libglib-2.0.so.0 #40 0x00007ffff78af6d0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #41 0x00007ffff6184ab3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #42 0x00007fffe5381d95 in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5XcbQpa.so.5 #43 0x00007ffff613339b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #44 0x00007ffff613b466 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5 #45 0x0000555555764fd4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/strawberry-0.3.3-1.fc29.x86_64/src/core/main.cpp:230

[FEATURE] Buffering visual indicator in play bar

It appears as if it's only buffering some short unknown amount of time and then waits until I hit the end of the buffer before it buffers again. It's a pretty brutal listening experience.

The buffering should continue while paused. and it should aim to keep X seconds buffered always regardless of play state. It would be nice if this was configurable and had a default of 30sec (personal preference).

Another bonus would be if we had an underlying shadow on the song progress bar that showed how far we have buffered (like youtube videos).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.