Closed thothix closed 1 month ago
Nice job : the 0.5.0 beta 4 works already perfectly Hoping anonbeat give a link to your github (I previously used openmonk's one that corrected the code to support gstreamer-1.22.3 and wxwidgets-3.2.1-3 )
I'm investigating a critical bug in my Guayadeque! It is nothing related to my version, I compiled the 2023-11-15 version (when openmonk commited gstreamer-1.22 support) and I faced the same problem. When I pause the playback and click play again, the playback freeze. Sometimes I need to pause and play several times to freeze. And when I pause and move the playback position slider and play, it freezes at first.
Can you reproduce this steps and check?
Hi Tiago
I haven't got this bug with the 2023-11-15 version from openmonk that I have built on 2024 november 24th and installed then... I use this version since this installation :
NB my distribution Mageia is rpm based (like Fedora or Opensuse)
Here is my spec file (I renamed it guayadeque.txt instead of guayadeque.spec since github doesn't accept to upload this .spec extension)
NB I don't use the bundled libs : wxsql and wxsqlite3 but the libs from our system...
One more detail about my tests: If you wait more than about 5/6 seconds after pause to play again the bug doesn't happen. You need to pause and play in sequence (less than 5 seconds).
My test status for this bug with 0.5.0 Beta 4 and 0.4.7-3bb72cc6 (2023-11-15):
Mint 22 (Ubuntu 24.04) - gstream 1.24.1
Mint 21 (Ubuntu 22.04) - gstream 1.20.1
Mint 20 (Ubuntu 20.04) - gstream 1.16.3
Maybe it can be related with gstream version.
What gstream version runs in your systems?
I was able to compile 0.5.0 Beta in Mint 20 (changed 1 deprecated code line) and the bug doesn't happen! Definitively its a library related bug, I guess it is gstreamer version.
we have gstreamer 1.22.11 to compile and run on our current distribution version (Mageia9) the next version (still unstable) will use gstreamer 1.24.7
the modifications openmonk brought were necessary to build and use for the more recent gstreamer (1.22) (since anonbeat had stop working on this code I had written to openmonk that I knew being a skilled contributor)
Indeed when anonbeat version was OK for a system with gstreamer 1.20 it became buggy for a system with gstreamer 1.22 : fader and equalizer caused the crashes
To conclude : for Mint 20 you need to use anonbeat last commit for Mint 21 or Mint 22 use openmonk's or your own last commit
Beware : to build guayadeque you need absolutely to not use the bundled versions of gstreamer or wxgtk or wxsqlite but the ones of your system (pkgconfig)
Do you know if openmonk has interest to maintain Guayadeque or had requested it to anonbeat? Anyway, I'll contact anonbeat to talk about it.
If you have any feedback about the changes I did you can comment to me, ok? If you think something can be done differently. I converted the changelog to markdown, if think it's better to read.
I updated the master branch with the last changes.
Do you know if openmonk has interest to maintain Guayadeque or had requested it to anonbeat? Anyway, I'll contact anonbeat to talk about it.
Hi Tiago some months ago I have asked openmonk to contact anonbeat (from whom he may be well known since he contributed a lot).... I don't know if he did so I only know that openmonk didn't work on his github repo since november 2023 after he has brought support for gstreamer-1.22.3 and wxwidget-3.2.1
I updated the master branch with the last changes.
I'm gonna build and test it If you think this maybe be the 0.5.0 version you might tag it so that it's easy to download the source as a tar.gz NB anonbeat tagged successively 0.4.5 , 0.4.6 , 0.4.7 .... your last version might be 0.4.8
just a little surprise : you renamed Changelog > Changelog.md .... I had not noticed it so I failed to pack the rpm (missing file : Changelog not found) That's a little detail to know when packaging it's not sufficient to change the source in the spec file to package the new version Maybe you should add the link Changelog pointing to Changelog.md in the source (same as README pointing to README.md)
I have built and tested your last commit (like a fresh install creating a new /home/myusername/.guayadeque , (the original being renamed /home/myusername/.guayadequebak) It works When I click on the cover inside this display I get a wider cover But if I mark the box "pochette" that means "cover" the display offers a left side panel where the cover is displayed a second time
If I click on this second cover I get a crash....
Launched from a console I get this : guaya-crash.txt
If the left pannel is not displayed (the box "cover" not being marked) I don't have this kind of problem
The useful difference is there : between the last lines of guaya-crash.txt : guaya-crash-difference.txt and the last lines of guaya-no-crash.txt guaya-no-crash.txt NB the first lines are quasi identical with lots of gtk warnings that don't prevent Guayadeque to work
It's finally not really a bug !!!!! When the left panel is displayed (the box "cover" being marked) you Must NOT click on the cover inside it ! If you increase the width of the left panel it increases the size of the cover inside it ! What would be the solution to prevent that a click inside this left panel leads to a command that is not understood
just a little surprise : you renamed Changelog > Changelog.md .... I had not noticed it so I failed to pack the rpm (missing file : Changelog not found) That's a little detail to know when packaging it's not sufficient to change the source in the spec file to package the new version Maybe you should add the link Changelog pointing to Changelog.md in the source (same as README pointing to README.md)
Ok but one of my goals was fix the changelog name, it was "ChangeLog" and not "Changelog", it had a capital "L". Can you change this? If not I'll create a link with the original name (ChangeLog)
It's finally not really a bug !!!!! When the left panel is displayed (the box "cover" being marked) you Must NOT click on the cover inside it ! If you increase the width of the left panel it increases the size of the cover inside it ! What would be the solution to prevent that a click inside this left panel leads to a command that is not understood
Indeed it's a feature from 2023-11-23
As openmonk didn't updated the version in his commit from 2023-11-23, I named it as Beta 1 in the changelog:
0.5.0 Beta 1 (2023-11-23) Features
Added fullscreen cover view on cover panel click
and it's strange, I fixed this in 0.5.0 Beta3
0.5.0 Beta 3 (2024-09-07) Enhancements ...
Bugfixes
Fixed bug that crashed Guayadeque when clicking the cover panel to open the fullscreen cover window
I'm not getting this error anymore
Ok but one of my goals was fix the changelog name, it was "ChangeLog" and not "Changelog", it had a capital "L". Can you change this? If not I'll create a link with the original name (ChangeLog)
I had never paid attention to this capital L since we package Guayadeque ! You are right : it must be Changelog.md .... (eventually with a link to it named Changelog)
I have corrected this in the spec file
It's finally not really a bug !!!!! When the left panel is displayed (the box "cover" being marked) you Must NOT click on the cover inside it ! If you increase the width of the left panel it increases the size of the cover inside it ! What would be the solution to prevent that a click inside this left panel leads to a command that is not understood
Indeed it's a feature from 2023-11-23
As openmonk didn't updated the version in his commit from 2023-11-23, I named it as Beta 1 in the changelog:
0.5.0 Beta 1 (2023-11-23) Features
Added fullscreen cover view on cover panel click
and it's strange, I fixed this in 0.5.0 Beta3
0.5.0 Beta 3 (2024-09-07) Enhancements ...
Bugfixes
Fixed bug that crashed Guayadeque when clicking the cover panel to open the fullscreen cover window
I'm not getting this error anymore
I am using your last git version 0158692 from september 16th
What I mean is that the left cover panel can be correctly displayed, if the cover box is marked in the display menu : that's OK and that this left panel can widened by sliding its edge : that's OK too
But if unfortunately you click on the picture inside this left panel you get a crash ! This area should be unresponsive when you click inside it
Indeed it's a feature from 2023-11-23 As openmonk didn't updated the version in his commit from 2023-11-23, I named it as Beta 1 in the changelog: 0.5.0 Beta 1 (2023-11-23) Features
Added fullscreen cover view on cover panel click
I have already packaged and tested a gitclone of openmonk from 2023-11-23 with this last commit .... since I then got this crash on a cover panel click : I reverted back to the git clone from 2023-11-15 .... that's what I use and propose to my distribution users : the coverpanel can be widened and it's OK like this (no need to get a full screen cover)
Your commit 61accd7 seems not to have corrected this crash for me
I have just updated wxgtk-dev to 3.2.6 version on my system and rebuilt guayadeque with it your last commit 0156892 ... installed and tested it : same crash (I supposed the bug was induced by a too old version of wxgtk used for building and running ... that's not the case)
and it's strange, I fixed this in 0.5.0 Beta3
0.5.0 Beta 3 (2024-09-07) Enhancements ...
Bugfixes
Fixed bug that crashed Guayadeque when clicking the cover panel to open the fullscreen cover window
I'm not getting this error anymore
Works fine for me on Mint 21.3 /6.8 kernel... no crashes with the cover
and it's strange, I fixed this in 0.5.0 Beta3 0.5.0 Beta 3 (2024-09-07) Enhancements ... Bugfixes Fixed bug that crashed Guayadeque when clicking the cover panel to open the fullscreen cover window I'm not getting this error anymore
Works fine for me on Mint 21.3 /6.8 kernel... no crashes with the cover
Maybe a problem specific for my distribution ? I am gonna investigate debugging this
I have used gdb to run guayadeque (with some debug rpms installed) here are 2 extracts of the logs of gdb in a same txt file
NB the 6 first lines of this text file are produced when clicking on the cover in the cover left panel (when the cover box has been marked in display menu)
The other lines concern only "thread 1" got with "gdb thread apply all bt full" gdb-part.txt
I don't know if it will be useful
Hi Tiago I'm building the 0.5.0 tagged version I get just some warning when building (in French but this must be easy to translate)
[ 32%] Building CXX object src/CMakeFiles/guayadeque.dir/ui/cover/Apple.cpp.o
/home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp: Dans la fonction membre « int Guayadeque::guAppleCoverFetcher::ExtractImagesInfo(wxString&) »:
/home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp:52:18: attention: « Reader » est obsolète: Use CharReader and CharReaderBuilder instead. [-Wdeprecated-declarations]
52 | Json::Reader reader;
| ^~
Dans le fichier inclus depuis /usr/include/json/json.h:11,
depuis /home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp:32:
/usr/include/json/reader.h:37:63: note: déclaré ici
37 | "Use CharReader and CharReaderBuilder instead.") JSON_API Reader {
| ^~
/home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp:52:18: attention: « Json::Reader::Reader() » est obsolète: Use CharReader and CharReaderBuilder instead [-Wdeprecated-declarations]
52 | Json::Reader reader;
| ^~
/usr/include/json/reader.h:56:3: note: déclaré ici
56 | Reader();
| ^~
I can't find the reason why Guayadeque crashes when I click on a cover displayed in the left cover panel (when the "cover" box is marked in the "display" menu)
That's still happening with your last tagged version 0.5.0 final release from september 18th
I have built and tested the 0.5.0 Beta3 version to verify if something had been modified since this version that worked for you but I get the same crash
Hi Tiago and raschaa
I am really stuck trying to debug guayadeque 0.5.0
there seems to be a problem with the versions of gtk wxgtk and gdk upon which I build guayadeque
Everything is OK except clicking on the cover inside the left cover panel that induces a crash
I have used gdb here is what I get with this command inside (gdb) : thread apply 1 bt full (this thread one is the one that creates the abortion) gdb-full.txt
Have you some light on this ?
I have seen that "gtk_window_present_with_time" is deprecated .... may it be where the cause of the problem is ?
Hi Tiago and raschaa
I am really stuck trying to debug guayadeque 0.5.0
there seems to be a problem with the versions of gtk wxgtk and gdk upon which I build guayadeque
Everything is OK except clicking on the cover inside the left cover panel that induces a crash
I have used gdb here is what I get with this command inside (gdb) : thread apply 1 bt full (this thread one is the one that creates the abortion) gdb-full.txt
Have you some light on this ?
I have seen that "gtk_window_present_with_time" is deprecated .... may it be where the cause of the problem is ?
Hey, sorry but I'm not of much help... can't code and can only deduce problems via common sense.
Did a bit of research and I believe you are on the right track it seems to be a gtk prob, most likely with the widgets bit.
I built on gtk 3,24,33 / libwxgtk3.0-gtk3-dev (3.0.5.1+dfsg-4)
Are you familiar with this? https://docs.wxwidgets.org/latest/plat_gtk_install.html
Hi My first build and test were done with wxgtk+3.0 version 3.2.1 and gtk 3.24.38 My last build and test were done with wxgtk+3.0 recently updated to 3.2.6 and gtk 3.24.38
I will try to force a build with wxgtk+3.0 version 3.0.5 .... and test it
I know that openmonk needed to modify the code when we tried to build with wxgtk version 3.2.1
Maybe there's something to do inside /src/ui/cover/cover* code
I rebuilt guayadeque upon wxgtk3.0 version 3.0.5 and gtk4 same result : Gtk:ERROR:../gtk/gtkwindow.c:10585:gtk_window_present_with_time: assertion failed: (gdk_window != NULL) Bail out! Gtk:ERROR:../gtk/gtkwindow.c:10585:gtk_window_present_with_time: assertion failed: (gdk_window != NULL)
Thread 1 "guayadeque" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=
I rebuilt guayadeque upon wxgtk3.0 version 3.0.5 and gtk+3 same crash
I don't understand where the problem is in the source codes of CoverFrame. CoverPanel. CoverWindow.* being not compatible with our wxgtk or gtk or gdk pixbuf
Hi @filochard,
Can you test the master version please. I did a change that hopes fix the problem. I have a Mageia 9 installation and it was crashing. Now the full cover is working to me.
Hi Tiago
Nice catch !!!
You did the magical trick => no more crash :-)
I built it, I tested it that's OK now
here is my spec file for Mageia9 :
guayadeque.spec.txt
Post Scriptum I am the maintainer of Guayadeque for Mageia : I will continue to test it as an update for an existing previous installation with its own /home/myusername/.guayadeque if it's OK I will provide this improved version to Mageia users :-)
I have tested with the previous /home/myusername/.guayadeque that I had backed up
It's perfect !
If this last commit is OK for other distributions you may tag it as the 0.5.0 final release, if not I am fine using this last commit to build our own rpm
I am really impressed with your skill and quick answers You really might contact anonbeat to ask him to allow you to continue his work : you really understand the sense of his code and he would agree with your work
Guayadeque is really the best music player for Linux I have ever used !
Hi @raschaa, Would you please test the last master version that tiagobar has just provided : It solved for me the problem of crash when clicking inside the left cover panel
it would be useful to know if this last commit (3242a49) doesn't cause any problem inside Mint when it solves the problem for Mageia...
If this commit is OK for you too Tiago might create a new 0.5.0 tag with this commit for 0.5.0 final release
It's done. I updated the tag/release 0.5.0 with the last commit.
I've tested the full screen cover and the playlist (move items by toolbar and drag and drop) in the following distros:
They all worked well.
Hi Tiago I'm building the 0.5.0 tagged version I get just some warning when building (in French but this must be easy to translate)
[ 32%] Building CXX object src/CMakeFiles/guayadeque.dir/ui/cover/Apple.cpp.o /home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp: Dans la fonction membre « int Guayadeque::guAppleCoverFetcher::ExtractImagesInfo(wxString&) »: /home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp:52:18: attention: « Reader » est obsolète: Use CharReader and CharReaderBuilder instead. [-Wdeprecated-declarations] 52 | Json::Reader reader; | ^
~Dans le fichier inclus depuis /usr/include/json/json.h:11, depuis /home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp:32: /usr/include/json/reader.h:37:63: note: déclaré ici 37 | "Use CharReader and CharReaderBuilder instead.") JSON_API Reader { | ^~/home/philippe/guayadeque/guayadeque-0.5.0/src/ui/cover/Apple.cpp:52:18: attention: « Json::Reader::Reader() » est obsolète: Use CharReader and CharReaderBuilder instead [-Wdeprecated-declarations] 52 | Json::Reader reader; | ^~/usr/include/json/reader.h:56:3: note: déclaré ici 56 | Reader(); | ^~
I updated the deprecation in Apple.cpp but as I don't have a way to test it in a Apple device, I didn't commit it yet.
This week I'll create the branch 0_5_1_beta to commit this and other changes that come along.
I'm working in a new feature that I miss a lot, a directory panel in the library (like the file browser but simplified) to help navigate by the tracks alongside the genres and artists panel. It'll take some time cause I need to understand how the library panels work.
Thanks for having testing on all these distributions (I wonder why Mageia was more oversensitive with the sequence of the lines that you have modified but at least, this modification doesn't prevent to build and run on other distributions) Thanks for this updated tag And congratulations for all your work
I shall suggest to you to modify the README.md file : it begins with the information from anonbeat that he stops working on this project
You should inform that you have followed his track and continue on this fork
beside this the link to guayadeque.org is dead
What do you think about this README. Feel free to send suggestions or corrections. I sent a message to @anonbeat asking about Guayadeque development. I'm waiting for his reply.
I renamed my github profile:
What do you think about this README. Feel free to send suggestions or corrections. I sent a message to @anonbeat asking about Guayadeque development. I'm waiting for his reply.
It's quite OK... You may just thank openmonk too : he was a great contributor for anonbeat (Juan Rios) code before anonbeat stops working on it. And after anonbeat had stopped working on it, I had asked him if he could find a way to resolve the bug appearing with the new wxgtk and gstreamer versions ... he created his own fork and solved the problem...
NB unfortunately he did not have time enough to finish what he had begun with the coverpanel (that didn't work) and that you have finished yourself
I renamed my github profile:
I am gonna modify the address in the spec file, and wait that eventually the REAME.md is updated before I create a package
If you modify (or not) the README.md file just inform me and then this issue will be closed :-)
I forgot to tell you that in the right part of the page https://github.com/thothix/guayadeque, the link to the forum (http://www.guayadeque.org/) is dead
I forgot to tell you that in the right part of the page https://github.com/thothix/guayadeque, the link to the forum (http://www.guayadeque.org/) is dead
Link removed.
The README has been updated and I already updated the release.
Fine
There's only a little warning remaining when building
/builddir/build/BUILD/guayadeque-0.5.0/src/ui/cover/Apple.cpp: In member function 'int Guayadeque::guAppleCoverFetcher::ExtractImagesInfo(wxString&)':
/builddir/build/BUILD/guayadeque-0.5.0/src/ui/cover/Apple.cpp:52:18: warning: 'Reader' is deprecated: Use CharReader and CharReaderBuilder instead. [-Wdeprecated-declarations]
52 | Json::Reader reader;
| ^~
In file included from /usr/include/json/json.h:11,
from /builddir/build/BUILD/guayadeque-0.5.0/src/ui/cover/Apple.cpp:32:
/usr/include/json/reader.h:37:63: note: declared here
37 | "Use CharReader and CharReaderBuilder instead.") JSON_API Reader {
| ^~
/builddir/build/BUILD/guayadeque-0.5.0/src/ui/cover/Apple.cpp:52:18: warning: 'Json::Reader::Reader()' is deprecated: Use CharReader and CharReaderBuilder instead [-Wdeprecated-declarations]
52 | Json::Reader reader;
| ^~
/usr/include/json/reader.h:56:3: note: declared here
56 | Reader();
| ^~
That means one line to modify inside /src/ui/cover/Apple.cpp line 52 Json:::Reader reader
But there's no emergency since it works as it is
Thanks for all your work You may close this issue and perhaps open a new one for Apple.cpp
As I said above, I already removed this warning. I happens only in Mageia. Mint and Arch don't raise this warning, I don't know why. Mageia uses jsoncpp 1.9.4 and Mint and Arch 1.9.5 I'm going to commit it in the 0_5_1-beta branch. We need someone with an Apple device/IPod to test it. Maybe we can commit it anyway, I guess there's few Ipod users that can test it.
I think the only way to test it is releasing the update and if something gets wrong an issue can be opened. I think it's fine but without test always there's a chance for some issue.
Did you create the package? I can commit it and update the release
I'm updating Changelog properly in case this fork become official in the future.