[Demudi-commits] r817 - rosegarden/trunk/debian/patches

Mike O'Connor stew-guest at costa.debian.org
Sat Jun 24 18:22:33 UTC 2006


Author: stew-guest
Date: 2006-06-24 18:22:28 +0000 (Sat, 24 Jun 2006)
New Revision: 817

Added:
   rosegarden/trunk/debian/patches/30_fix-missing-snd-seq.dpatch
Modified:
   rosegarden/trunk/debian/patches/00list
Log:
adding patch to fix missing /dev/snd/seq

Modified: rosegarden/trunk/debian/patches/00list
===================================================================
--- rosegarden/trunk/debian/patches/00list	2006-06-20 21:25:55 UTC (rev 816)
+++ rosegarden/trunk/debian/patches/00list	2006-06-24 18:22:28 UTC (rev 817)
@@ -1,2 +1,3 @@
 10_install-list
 20_env
+30_fix-missing-snd-seq

Added: rosegarden/trunk/debian/patches/30_fix-missing-snd-seq.dpatch
===================================================================
--- rosegarden/trunk/debian/patches/30_fix-missing-snd-seq.dpatch	2006-06-20 21:25:55 UTC (rev 816)
+++ rosegarden/trunk/debian/patches/30_fix-missing-snd-seq.dpatch	2006-06-24 18:22:28 UTC (rev 817)
@@ -0,0 +1,206 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30fix-missing-snd-seq.dpatch by Mike O'Connor <stew at vireo.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad rosegarden-1.2.3.orig~/sound/AlsaDriver.cpp rosegarden-1.2.3.orig/sound/AlsaDriver.cpp
+--- rosegarden-1.2.3.orig~/sound/AlsaDriver.cpp	2006-06-24 14:01:17.000000000 -0400
++++ rosegarden-1.2.3.orig/sound/AlsaDriver.cpp	2006-06-24 14:07:08.000000000 -0400
+@@ -1631,18 +1631,22 @@
+     m_firstTimerCheck = true;
+ }
+ 
+-void
++bool
+ AlsaDriver::initialise()
+ {
++    bool result = true;
++
+     initialiseAudio();
+-    initialiseMidi();
++    result = initialiseMidi();
++
++    return result;
+ }
+ 
+ 
+ 
+ // Set up queue, client and port
+ //
+-void
++bool
+ AlsaDriver::initialiseMidi()
+ { 
+     Audit audit;
+@@ -1654,10 +1658,10 @@
+                      SND_SEQ_OPEN_DUPLEX,
+                      SND_SEQ_NONBLOCK) < 0) {
+         audit << "AlsaDriver::initialiseMidi - "
+-                  << "couldn't open sequencer - " << snd_strerror(errno)
++	      << "couldn't open sequencer - " << snd_strerror(errno) << " - perhaps you need to modprobe snd-seq-midi."
+                   << std::endl;
+ 	reportFailure(Rosegarden::MappedEvent::FailureALSACallFailed);
+-	return;
++	return false;
+     }
+ 
+     snd_seq_set_client_name(m_midiHandle, "rosegarden");
+@@ -1668,7 +1672,7 @@
+         std::cerr << "AlsaDriver::initialiseMidi - can't create client"
+                   << std::endl;
+ #endif
+-        return;
++        return false;
+     }
+ 
+     // Create a queue
+@@ -1680,7 +1684,7 @@
+         std::cerr << "AlsaDriver::initialiseMidi - can't allocate queue"
+                   << std::endl;
+ #endif
+-        return;
++        return false;
+     }
+ 
+     // Create the input port
+@@ -1701,7 +1705,7 @@
+ 
+     if (checkAlsaError(snd_seq_create_port(m_midiHandle, pinfo), 
+                        "initialiseMidi - can't create input port") < 0)
+-        return;
++        return false;
+     m_inputPort = snd_seq_port_info_get_port(pinfo);
+ 
+     // Subscribe the input port to the ALSA Announce port
+@@ -1722,7 +1726,7 @@
+                   << "can't modify pool parameters"
+                   << std::endl;
+ #endif
+-        return;
++        return false;
+     }
+ 
+     // Create sync output now as well
+@@ -1761,7 +1765,7 @@
+     if (checkAlsaError(snd_seq_start_queue(m_midiHandle, m_queue, NULL), 
+                        "initialiseMidi(): couldn't start queue") < 0) {
+ 	reportFailure(Rosegarden::MappedEvent::FailureALSACallFailed);
+-	return;
++	return false;
+     }
+ 
+     m_queueRunning = true;
+@@ -1771,6 +1775,8 @@
+ 
+     audit << "AlsaDriver::initialiseMidi -  initialised MIDI subsystem"
+               << std::endl << std::endl;
++
++    return true;
+ }
+ 
+ // We don't even attempt to use ALSA audio.  We just use JACK instead.
+diff -urNad rosegarden-1.2.3.orig~/sound/AlsaDriver.h rosegarden-1.2.3.orig/sound/AlsaDriver.h
+--- rosegarden-1.2.3.orig~/sound/AlsaDriver.h	2006-06-24 14:01:17.000000000 -0400
++++ rosegarden-1.2.3.orig/sound/AlsaDriver.h	2006-06-24 14:07:08.000000000 -0400
+@@ -56,7 +56,7 @@
+     // shutdown everything that's currently open
+     void shutdown();
+ 
+-    virtual void initialise();
++    virtual bool initialise();
+     virtual void initialisePlayback(const RealTime &position);
+     virtual void stopPlayback();
+     virtual void punchOut();
+@@ -99,7 +99,7 @@
+ 
+     // initialise subsystems
+     //
+-    void initialiseMidi();
++    bool initialiseMidi();
+     void initialiseAudio();
+ 
+     // Some stuff to help us debug this
+diff -urNad rosegarden-1.2.3.orig~/sound/ArtsDriver.cpp rosegarden-1.2.3.orig/sound/ArtsDriver.cpp
+--- rosegarden-1.2.3.orig~/sound/ArtsDriver.cpp	2006-06-24 14:01:17.000000000 -0400
++++ rosegarden-1.2.3.orig/sound/ArtsDriver.cpp	2006-06-24 14:07:08.000000000 -0400
+@@ -129,11 +129,18 @@
+ 
+ 
+ 
+-void
++bool
+ ArtsDriver::initialise()
+ {
+-    initialiseMidi();
+-    initialiseAudio();
++    bool ressult = true;
++
++    result = initialiseMidi();
++    if( result ) 
++    {
++	result = initialiseAudio();
++    }
++
++    return result;
+ }
+ 
+ void
+diff -urNad rosegarden-1.2.3.orig~/sound/ArtsDriver.h rosegarden-1.2.3.orig/sound/ArtsDriver.h
+--- rosegarden-1.2.3.orig~/sound/ArtsDriver.h	2006-06-24 14:01:17.000000000 -0400
++++ rosegarden-1.2.3.orig/sound/ArtsDriver.h	2006-06-24 14:07:08.000000000 -0400
+@@ -48,7 +48,7 @@
+     ArtsDriver(MappedStudio *studio);
+     virtual ~ArtsDriver();
+ 
+-    virtual void initialise();
++    virtual bool initialise();
+     virtual void initialisePlayback(const RealTime &position);
+     virtual void stopPlayback();
+     virtual void resetPlayback(const RealTime &oldPosition, const RealTime &position);
+diff -urNad rosegarden-1.2.3.orig~/sound/SoundDriver.h rosegarden-1.2.3.orig/sound/SoundDriver.h
+--- rosegarden-1.2.3.orig~/sound/SoundDriver.h	2006-06-24 14:01:17.000000000 -0400
++++ rosegarden-1.2.3.orig/sound/SoundDriver.h	2006-06-24 14:07:08.000000000 -0400
+@@ -148,7 +148,7 @@
+     SoundDriver(MappedStudio *studio, const std::string &name);
+     virtual ~SoundDriver();
+ 
+-    virtual void initialise() = 0;
++    virtual bool initialise() = 0;
+     virtual void shutdown() { }
+ 
+     virtual void initialisePlayback(const RealTime &position) = 0;
+diff -urNad rosegarden-1.2.3.orig~/sound/SoundDriverFactory.cpp rosegarden-1.2.3.orig/sound/SoundDriverFactory.cpp
+--- rosegarden-1.2.3.orig~/sound/SoundDriverFactory.cpp	2006-06-24 14:01:17.000000000 -0400
++++ rosegarden-1.2.3.orig/sound/SoundDriverFactory.cpp	2006-06-24 14:07:08.000000000 -0400
+@@ -37,7 +37,7 @@
+ SoundDriverFactory::createDriver(MappedStudio *studio)
+ {
+     SoundDriver *driver = 0;
+-
++    bool initialised = false;
+ #ifdef NO_SOUND
+     driver = new DummyDriver(studio);
+ #else
+@@ -48,9 +48,18 @@
+ #endif
+ #endif
+ 
+-    driver->initialise();
++    initialised = driver->initialise();
+ 	
+-    return driver;
++    if( initialised )
++    {
++	return driver;
++    }
++    else
++    {
++	driver->shutdown();
++	delete driver;
++	return 0;
++    }
+ }
+ 
+ 


Property changes on: rosegarden/trunk/debian/patches/30_fix-missing-snd-seq.dpatch
___________________________________________________________________
Name: svn:executable
   + *




More information about the Demudi-commits mailing list