[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