Bug#749978: guayadeque: Much better patch

2014-08-14 Thread Damyan Ivanov
-=| 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

2014-08-13 Thread Damyan Ivanov
-=| 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

2014-06-23 Thread Damyan Ivanov
-=| 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

2014-01-31 Thread Damyan Ivanov
-=| 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

2014-01-25 Thread Damyan Ivanov
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

2012-01-12 Thread Damyan Ivanov
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"