thothix / old-gud

Guayadeque is a music management program designed for all music enthusiasts. It is Full Featured Linux media player that can easily manage large collections and uses the Gstreamer media framework.
GNU General Public License v3.0
1 stars 0 forks source link

Work for a possible 0.5.0 version #3

Closed thothix closed 1 month ago

thothix commented 1 month ago

I'm updating Changelog properly in case this fork become official in the future.

filochard commented 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 )

thothix commented 1 month ago

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?

filochard commented 1 month ago

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)

guayadeque.txt

filochard commented 1 month ago

NB I don't use the bundled libs : wxsql and wxsqlite3 but the libs from our system...

thothix commented 1 month ago

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):

Maybe it can be related with gstream version.

What gstream version runs in your systems?

thothix commented 1 month ago

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.

filochard commented 1 month ago

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)

thothix commented 1 month ago

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.

thothix commented 1 month ago

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.

thothix commented 1 month ago

I updated the master branch with the last changes.

filochard commented 1 month ago

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

filochard commented 1 month ago

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

filochard commented 1 month ago

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)

filochard commented 1 month ago

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) guaya1 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" guay2 the display offers a left side panel where the cover is displayed a second time guaya3

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

filochard commented 1 month ago

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

thothix commented 1 month ago

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)

thothix commented 1 month ago

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

filochard commented 1 month ago

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

filochard commented 1 month ago

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 guaya-cover

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

filochard commented 1 month ago

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)

raschaa commented 1 month ago

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

filochard commented 1 month ago

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

filochard commented 1 month ago

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

filochard commented 1 month ago

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(); | ^~

filochard commented 1 month ago

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

filochard commented 1 month ago

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 ?

raschaa commented 1 month ago

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

filochard commented 1 month ago

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

filochard commented 1 month ago

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=, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;

filochard commented 1 month ago

I rebuilt guayadeque upon wxgtk3.0 version 3.0.5 and gtk+3 same crash

filochard commented 1 month ago

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

thothix commented 1 month ago

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.

filochard commented 1 month ago

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 :-)

filochard commented 1 month ago

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 !

filochard commented 1 month ago

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

thothix commented 1 month ago

It's done. I updated the tag/release 0.5.0 with the last commit.

thothix commented 1 month ago

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.

thothix commented 1 month ago

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.

filochard commented 1 month ago

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

filochard commented 1 month ago

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

thothix commented 1 month ago

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.

README.md

thothix commented 1 month ago

I renamed my github profile:

https://github.com/thothix

filochard commented 1 month ago

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.

README.md

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

filochard commented 1 month ago

I renamed my github profile:

https://github.com/thothix

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 :-)

filochard commented 1 month ago

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

thothix commented 1 month ago

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.

filochard commented 1 month ago

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

filochard commented 1 month ago

Thanks for all your work You may close this issue and perhaps open a new one for Apple.cpp

thothix commented 1 month ago

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.

thothix commented 1 month ago

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