Bug#749978: guayadeque: Much better patch
-=| Olly Betts, 14.08.2014 17:26:48 +1200 |=- > Thanks for testing the previous patch. You're welcome! > This revised patch fixes the crash on pause/stop, turns off the > button borders so they appear as they do with wx2.8 and even fixes > the splash screen. Confirmed. Below is an additional patch that removes the border from progress controls in the status bar too. It also tries to remove the border around the search input in the media/radio tabs, but for some reason the result is still bordered controls. Cheers and thanks again! dam --- a/src/StatusBar.h +++ b/src/StatusBar.h @@ -46,7 +46,7 @@ class guGauge : public wxControl public : guGauge() : wxControl() { m_LastValue = wxNOT_FOUND; m_PaintWidth = 0; }; guGauge( wxWindow * parent, const wxString &label = wxEmptyString, bool showporcent = true, wxWindowID id = wxID_ANY, unsigned int max = 100, - const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, long style = wxGA_HORIZONTAL ); + const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, long style = wxGA_HORIZONTAL | wxBORDER_NONE ); ~guGauge( void ); voidSetRange( int range ); --- a/src/MediaViewer.cpp +++ b/src/MediaViewer.cpp @@ -235,7 +235,7 @@ void guMediaViewer::CreateControls( void m_PlaylistsSelButton->SetToolTip( _( "Playlists" ) ); TopSizer->Add( m_PlaylistsSelButton, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 ); - m_SearchTextCtrl = new wxSearchCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); + m_SearchTextCtrl = new wxSearchCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER | wxBORDER_NONE ); TopSizer->Add( m_SearchTextCtrl, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); // --- a/src/RadioPanel.cpp +++ b/src/RadioPanel.cpp @@ -560,7 +560,7 @@ guRadioPanel::guRadioPanel( wxWindow * p wxPanel * SearchPanel; SearchPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); -m_InputTextCtrl = new wxSearchCtrl( SearchPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); +m_InputTextCtrl = new wxSearchCtrl( SearchPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER | wxBORDER_NONE ); SearchSizer->Add( m_InputTextCtrl, 1, wxALIGN_CENTER, 5 ); SearchPanel->SetSizer( SearchSizer ); ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
Bug#749978: guayadeque: Updated patch
-=| Olly Betts, 13.08.2014 14:22:47 +1200 |=- > I've fixed the rendering of the lists, and some of the warnings. I > haven't seen any crashes in this build, but would welcome wider testing. > > The only problem I saw was that the logo is missing from the splash > screen/"About" panel. It looks like it gets loaded from a memory > stream, but other images are too seem OK, so not sure why this one is a > problem. But it's essentially just a cosmetic issue. That's great, thanks! I have built the package with this patch and it seems usable. There are other cosmetic issues as well - several button-like controls seem smaller that they should and the content is cropped (main buttons for play/payse, prev, next etc, the star-rating row, the search input field, the library scanning progress). Updating the collection works. Playback works, but pausing or stopping it crashes with a segfault. Here's the backtrace if it could be of some help. 11,44,03: StatusChanged( 1, 0, 0, 0 ) Program received signal SIGSEGV, Segmentation fault. 0x in ?? () (gdb) bt Thread 1 (Thread 0x77f92a40 (LWP 27924)): #0 0x in ?? () #1 0x00762975 in guTimeLine::Stop (this=0x1d5aa10) at /tmp/buildd/guayadeque-0.3.7~ds0/src/TimeLine.cpp:227 #2 0x005ac1fa in TimerUpdated (timeline=) at /tmp/buildd/guayadeque-0.3.7~ds0/src/MediaCtrl.cpp:2578 #3 0x75a85703 in g_timeout_dispatch (source=0xdc3f90, callback=, user_data=) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:4472 #4 0x75a84ce5 in g_main_dispatch (context=0xce7600) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3064 #5 g_main_context_dispatch (context=context@entry=0xce7600) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3663 #6 0x75a85048 in g_main_context_iterate (context=0xce7600, block=block@entry=1, dispatch=dispatch@entry=1, self=) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3734 #7 0x75a8530a in g_main_loop_run (loop=0x1d5c430) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3928 #8 0x72f35bc7 in IA__gtk_main () at /build/gtk+2.0-zztKf7/gtk+2.0-2.24.24/gtk/gtkmain.c:1257 #9 0x772ffb05 in wxGUIEventLoop::DoRun (this=0xe583b0) at ../src/gtk/evtloop.cpp:65 #10 0x779dd9e0 in wxEventLoopBase::Run (this=0xe583b0) at ../src/common/evtloopcmn.cpp:78 #11 0x7799c116 in wxAppConsoleBase::MainLoop (this=0xc745f0) at ../src/common/appbase.cpp:334 #12 0x77a32c7d in wxEntry (argc=@0x77dd7930: 1, argv=) at ../src/common/init.cpp:495 zsh: segmentation fault gdb guayadeque (gdb also crashes at this point) The relevant source is 224 void guTimeLine::Stop( void ) 225 { 226 if( m_TimerId ) * 227 TimerDestroy(); //g_source_remove( m_TimerId ); 228 m_TimerId = 0; 229 SetState( guTimeLine::NotRunning ); 230 } Anyway, I think we better have a crashing guayadeque in unstable, than an uninstallable one. Thanks for your efforts, Olly! -- dam ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
Bug#749978: #749978: guayadeque: Please update to use wxwidgets3.0
-=| Olly Betts, 23.06.2014 11:00:14 +0100 |=- > On Mon, Jun 23, 2014 at 12:50:11PM +0300, Damyan Ivanov wrote: > > /tmp/buildd/guayadeque-0.3.7~ds0/src/ListView.h:160:5: error: 'wxImageList' > > does not name a type > > wxImageList * m_ImageList; > > ^ > > For this (and the similar errors for other missing classes) you probably > just need to explicitly include the appropriate wx/.h header which > declares the missing class. Thanks. Attached is a patch that fixes these (until the build fails with other errors). > Not sure about the other issues off the top of my head. Sure. I guess the rest needs somebody deeper in C++ than me then. -- dam --- a/src/ListView.h +++ b/src/ListView.h @@ -28,6 +28,7 @@ #include #include #include +#include class guListViewClient; class guListViewHeader; --- a/src/FileBrowser.cpp +++ b/src/FileBrowser.cpp @@ -36,6 +36,7 @@ #include #include #include +#include WX_DEFINE_OBJARRAY(guFileItemArray); @@ -221,7 +222,7 @@ guFileBrowserDirCtrl::guFileBrowserDirCt DirBtnSizer->Add( 0, 0, 1, wxEXPAND, 5 ); - m_ShowLibPathsBtn = new wxToggleBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_library ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); + m_ShowLibPathsBtn = new wxBitmapToggleButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_library ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); m_ShowLibPathsBtn->SetToolTip( ShowPaths == guFILEBROWSER_SHOWPATH_SYSTEM ? _( "See used locations" ) : _( "See system files" ) ); --- a/src/FileBrowser.h +++ b/src/FileBrowser.h @@ -36,6 +36,7 @@ #include #include #include +#include #define guPANEL_FILEBROWSER_DIRCTRL ( 1 << 0 ) @@ -122,7 +123,7 @@ class guFileBrowserDirCtrl : public wxPa guMediaViewer * m_MediaViewer; guGenericDirCtrl * m_DirCtrl; boolm_AddingFolder; -wxToggleBitmapButton * m_ShowLibPathsBtn; +wxBitmapToggleButton * m_ShowLibPathsBtn; voidOnShowLibPathsClick( wxCommandEvent& event ); --- a/src/AuiNotebook.cpp +++ b/src/AuiNotebook.cpp @@ -389,6 +389,8 @@ void guAuiNotebook::UpdateTabCtrlHeight( tabctrl->SetArtProvider(art->Clone()); tab_frame->DoSizing(); } + +return true; } // // --- a/src/AuiNotebook.h +++ b/src/AuiNotebook.h @@ -205,7 +205,7 @@ class guAuiNotebook : public wxAuiNotebo virtual ~guAuiNotebook(); -virtual void UpdateTabCtrlHeight(); +virtual bool UpdateTabCtrlHeight(); wxString SavePerspective( void ); bool LoadPerspective( const wxString &layout ); ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
Bug#736616: Bug#637757: libaudio-ecasound-perl: FTBFS on mips
-=| Alessandro Ghedini, 31.01.2014 13:14:48 +0100 |=- > On lun, gen 27, 2014 at 08:48:10 +0200, Damyan Ivanov wrote: > > I attach the trace (compressed) just in case. > > Turns out that the trace was, in fact, quite useful, it's just that I missed > the > most important part: > > > 9068 <... poll resumed> ) = 0 (Timeout) > > So, yeah, I have a patch that seems to work and I'm now waiting for upstream's > comments on it. This is great. Thanks! ___ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
Bug#736616: libecasoundc1: int-cmd-list command fails on mips
submitter 736616 ! thanks Dear ecasound maintainers, Sorry for the BTS ping-pong, please find below the rationale for cloning this bug to libecasoundc1. Thanks! > It appears there is a problem with ecasound/libecasoundc1 on mips, > which causes failures in the test suite of libaudio-ecasound-perl, > making it FTBFS. > > I was able to isolate the problem using the following C program: > > ->8-- > #include > #include > #include > > void main( int argc, char**argv) { > eci_init(); > > if ( eci_error() ) { > fprintf( stderr, "init Error: %s\n", eci_last_error() ); > exit(1); > } > > eci_command("int-cmd-list"); > if ( eci_error() ) { > fprintf( stderr, "Error: %s\n", eci_last_error() ); > exit(1); > } > > const char * t = eci_last_type(); > fprintf( stdout, "T=%s\n", t); > if ( strcmp( t, "S" ) == 0 ) { > int cnt = eci_last_string_list_count(); > int i; > for ( i = 0; i < cnt; i++ ) { > fprintf( stdout, "S[%d]=%s\n", i, eci_last_string_list_item(i) ); > } > } > exit(0); > } > ->8-- > > Compile: `gcc -o ecatest -lecasoundc ecatest.c' > Run: `./ecatest' > > Running it on amd64 gives 200 commands as a result, but fails on mips > (tried on gabrielli.debian.org): > > dmn@gabrielli:~$ strace -f -o trace -s 1024 ./ecatest > *** > * Message from libecasoundc: > * > * 'ECASOUND' environment variable not set. Using the default value > * value 'ECASOUND=ecasound'. > *** > > > (ecasoundc_sa) Error='read() error', cmd='' last_error='' cmd_cnt=1 > last_cnt=0. > > *** > * Message from libecasoundc: > * > * A null client handle detected. This is usually caused by a bug > * in the ECI application. Please report this bug to the author of > * the program. > *** > > Warning: DBC_CHECK failed - "eci_rep != NULL", ecasoundc_sa.c, 876. > $ > > The first thing that the test suite of libaudio-ecasound-perl does is > to retrieve the list of the commands, much like the above program, and > fails with exactly the same message. > > The trace ends with: > > ->8-- > <...lots and lots of clock_gettime lines...> > 9070 clock_gettime(CLOCK_MONOTONIC, {1721809, 505245051}) = 0 > 9070 clock_gettime(CLOCK_MONOTONIC, {1721809, 505448267}) = 0 > 9070 rt_sigaction(SIGILL, {SIG_DFL, [RT_69 RT_70 RT_71 RT_75 RT_76 RT_77 > RT_82 RT_84 RT_87 RT_88 RT_89 > RT_90 RT_91 RT_92 RT_93 RT_94], 0}, NULL, 16) = 0 > 9070 write(2, "(", 1) = 1 > 9070 write(2, "eca-chainsetup", 14)= 14 > 9070 write(2, ") ", 2) = 2 > 9070 write(2, "Chainsetup \"untitled-chainsetup\"", 32) = 32 > 9070 write(2, "\n", 1) = 1 > 9070 write(2, "(", 1) = 1 > 9070 write(2, "eca-session", 11) = 11 > 9070 write(2, ") ", 2) = 2 > 9070 write(2, "NOTE: Unable to create a valid chainsetup from the > command-line arguments.", 74) = 74 > 9070 write(2, "\n", 1) = 1 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 fstat64(0, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 > 9070 old_mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x75c7e000 > 9070 read(0, "debug 256\nint-set-float-to-string-precision > 17\nint-output-mode-wellformed\n", 4096) = 74 > 9070 write(2, "Debug level set to 256.", 23) = 23 > 9070 write(2, "\n", 1) = 1 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 fstat64(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 > 9070 old_mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x75c6e000 > 9070 write(1, "256 0 -\r\n\r\n\r\n", 13) = -1 EPIPE (Broken pipe) > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 read(0, "", 4096) = 0 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 write(2, "---\necasound: Exiting...", 24) = 24 > 9070 write(2, "\n", 1) = 1 > 9070 tgkill(9070, 9071, SIGHUP)= 0 > 9071 <... rt_sigtimedwait resumed> ) = 1 > 9071 rt_sigprocmask(SIG_UNBLOCK, [INT QUIT PIPE TERM], > 9070 rt_sigprocmask(SIG_UNBLOCK, [INT QUIT PIPE TERM], > 9071 <... rt_sigprocmask resumed> NULL, 16) = 0 > 9070 <... rt_sigprocmask resumed> NULL, 16) = 0 > 9070 --- SIGPIPE (Broken pipe) @ 0 (0) --- > 9071 madvise(0x75c8e000, 8249344, MADV_DONTNEED > 9070 rt_sigreturn(0xd > 9071 <... madvise resumed> ) = 0 > 9071 exit(0) = ? > 9070 <... rt_sigreturn resumed> ) = 0 >
Bug#655561: Multimedia keys not working with gnome 3
Package: guayadeque Version: 0.3.1~dfsg0-1 Severity: normal Tags: upstream patch Hi, (This is also LP#860600 [0]) [0] https://bugs.launchpad.net/ubuntu/+source/guayadeque/+bug/860600 Pressing multimedia keys (prev/next/play/stop) has no effect on guayadeque. What happens is that gnome shows a big "no parking" sign. Looking at [1], it seems this is fixed by upstream in revision 1660 of their subversion tree[2]. [1] http://guayadeque.org/forums/index.php?p=/discussion/comment/3221#Comment_3221 [2] http://guayadeque.svn.sourceforge.net/viewvc/guayadeque/ As I understand it, that revision exports some player control interfaces to dbus, so that gnome is able to communicate with guayadeque. And indeed, applying the attached patch makes the multimedia keys work under gnome 3. Please consider applying the patch to the Debian package. Thanks, dam -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.1.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages guayadeque depends on: ii gstreamer0.10-plugins-base 0.10.35-1 ii gstreamer0.10-plugins-good 0.10.30-2.1 ii libc6 2.13-24 ii libcurl3-gnutls 7.23.1-3 ii libdbus-1-3 1.5.0-2 ii libflac81.2.1-6 ii libgcc1 1:4.6.2-9 ii libgdk-pixbuf2.0-0 2.24.0-2 ii libglib2.0-02.30.2-4 ii libgpod40.8.2-4 ii libgstreamer0.10-0 0.10.35-1 ii libimobiledevice2 1.1.1-3 ii libsqlite3-03.7.9-2 ii libstdc++6 4.6.2-9 ii libtag1c2a 1.7-1 ii libwxbase2.8-0 2.8.12.1-6 ii libwxgtk2.8-0 2.8.12.1-6 ii libwxsqlite3-2.8-0 2.1.3-1 ii libxml2 2.7.8.dfsg-5.1 guayadeque recommends no packages. guayadeque suggests no packages. -- no debconf information diff --git a/src/dbus/mmkeys.cpp b/src/dbus/mmkeys.cpp index 4754ce1..a4d8831 100644 --- a/src/dbus/mmkeys.cpp +++ b/src/dbus/mmkeys.cpp @@ -31,13 +31,55 @@ guMMKeys::guMMKeys( guDBusServer * server, guPlayerPanel * playerpanel ) : guDBu RegisterClient(); // Support for the MultimediaKeys -AddMatch( "type='signal',interface='org.gnome.SettingsDaemon'" ); +//AddMatch( "type='signal',interface='org.gnome.SettingsDaemon'" ); AddMatch( "type='signal',interface='org.gnome.SettingsDaemon.MediaKeys'" ); + +GrabMediaPlayerKeys( 0 ); } // // guMMKeys::~guMMKeys() { +ReleaseMediaPlayerKeys(); +} + +// // +void guMMKeys::GrabMediaPlayerKeys( const unsigned int time ) +{ +guDBusMethodCall * Msg = new guDBusMethodCall( "org.gnome.SettingsDaemon", +"/org/gnome/SettingsDaemon/MediaKeys", + "org.gnome.SettingsDaemon.MediaKeys", + "GrabMediaPlayerKeys" ); + +const char * AppId = "Guayadeque"; + +dbus_message_append_args( Msg->GetMessage(), + DBUS_TYPE_STRING, &AppId, + DBUS_TYPE_UINT32, &time, + DBUS_TYPE_INVALID ); + +SendWithReply( Msg ); + +delete Msg; +} + +// // +void guMMKeys::ReleaseMediaPlayerKeys( void ) +{ +guDBusMethodCall * Msg = new guDBusMethodCall( "org.gnome.SettingsDaemon", +"/org/gnome/SettingsDaemon/MediaKeys", + "org.gnome.SettingsDaemon.MediaKeys", + "ReleaseMediaPlayerKeys" ); + +const char * AppId = "Guayadeque"; + +dbus_message_append_args( Msg->GetMessage(), + DBUS_TYPE_STRING, &AppId, + DBUS_TYPE_INVALID ); + +SendWithReply( Msg ); + +delete Msg; } // // @@ -54,8 +96,13 @@ DBusHandlerResult guMMKeys::HandleMessages( guDBusMessage * msg, guDBusMessage * // MULTIMEDIA KEYS if( Type == DBUS_MESSAGE_TYPE_SIGNAL ) // If its a Signal message { -if( !strcmp( Path, "/org/gnome/SettingsDaemon" ) || -!strcmp( Path, "/org/gnome/SettingsDaemon/MediaKeys" ) ) +//guLogMessage( wxT( " Received Signal \n" ) +// wxT( "Path : '%s'\n" ) +// wxT( "Member : '%s'" ), +// wxString( Path, wxConvUTF8 ).c_str(), +// wxString( Member, wxConvUTF8 ).c_str() +//); +if( !strcmp( Path, "/org/gnome/SettingsDaemon/MediaKeys" ) ) { if( !strcmp( Member, "MediaPlayerKeyPressed"