gnu: Add seq24.
* gnu/packages/music.scm (seq24): New variable. * gnu/packages/patches/seq24-rename-mutex.patch: New file. * gnu/local.mk (dist_patch_DATA): Register patch.
This commit is contained in:
parent
24420005ec
commit
5a66e25ce6
|
@ -854,6 +854,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/scheme48-tests.patch \
|
||||
%D%/packages/patches/scotch-test-threading.patch \
|
||||
%D%/packages/patches/sdl-libx11-1.6.patch \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/serf-comment-style-fix.patch \
|
||||
%D%/packages/patches/serf-deflate-buckets-test-fix.patch \
|
||||
%D%/packages/patches/slim-session.patch \
|
||||
|
|
|
@ -2598,6 +2598,36 @@ sequencer and LFO. It can hold any number of arpeggiator, sequencer, or LFO
|
|||
modules running in parallel.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public seq24
|
||||
(package
|
||||
(name "seq24")
|
||||
(version "0.9.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://launchpad.net/seq24/trunk/"
|
||||
version "/+download/seq24-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"12dphdhnvfk1k0vmagi1v2lhyxjyj1j3cz6ksjw0ydcvid1x8ap2"))
|
||||
(patches (search-patches "seq24-rename-mutex.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "CXXFLAGS=-std=gnu++11")))
|
||||
(inputs
|
||||
`(("gtkmm" ,gtkmm-2)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("jack" ,jack-1)
|
||||
("lash" ,lash)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://edge.launchpad.net/seq24/")
|
||||
(synopsis "Real-time MIDI sequencer")
|
||||
(description "Seq24 is a real-time MIDI sequencer. It was created to
|
||||
provide a very simple interface for editing and playing MIDI loops.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public python-discogs-client
|
||||
(package
|
||||
(name "python-discogs-client")
|
||||
|
|
|
@ -0,0 +1,124 @@
|
|||
The custom mutex definition in Seq24 clashes with the mutex defined in gtkmm.
|
||||
This patch renames the custom definition.
|
||||
|
||||
See https://bugs.launchpad.net/seq24/+bug/1647614 for upstream bug report.
|
||||
|
||||
diff --git a/src/midibus.h b/src/midibus.h
|
||||
index 2cdf8e8..1bb02bd 100644
|
||||
--- a/src/midibus.h
|
||||
+++ b/src/midibus.h
|
||||
@@ -90,7 +90,7 @@ class midibus
|
||||
|
||||
|
||||
/* locking */
|
||||
- mutex m_mutex;
|
||||
+ seq24mutex m_mutex;
|
||||
|
||||
/* mutex */
|
||||
void lock();
|
||||
@@ -208,7 +208,7 @@ class mastermidibus
|
||||
sequence *m_seq;
|
||||
|
||||
/* locking */
|
||||
- mutex m_mutex;
|
||||
+ seq24mutex m_mutex;
|
||||
|
||||
/* mutex */
|
||||
void lock();
|
||||
diff --git a/src/midibus_portmidi.h b/src/midibus_portmidi.h
|
||||
index 0119e9c..8c6a27a 100644
|
||||
--- a/src/midibus_portmidi.h
|
||||
+++ b/src/midibus_portmidi.h
|
||||
@@ -65,7 +65,7 @@ class midibus
|
||||
long m_lasttick;
|
||||
|
||||
/* locking */
|
||||
- mutex m_mutex;
|
||||
+ seq24mutex m_mutex;
|
||||
|
||||
/* mutex */
|
||||
void lock();
|
||||
@@ -164,7 +164,7 @@ class mastermidibus
|
||||
sequence *m_seq;
|
||||
|
||||
/* locking */
|
||||
- mutex m_mutex;
|
||||
+ seq24mutex m_mutex;
|
||||
|
||||
/* mutex */
|
||||
void lock();
|
||||
diff --git a/src/mutex.cpp b/src/mutex.cpp
|
||||
index b3f23fd..914114f 100644
|
||||
--- a/src/mutex.cpp
|
||||
+++ b/src/mutex.cpp
|
||||
@@ -20,23 +20,23 @@
|
||||
|
||||
#include "mutex.h"
|
||||
|
||||
-const pthread_mutex_t mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
|
||||
+const pthread_mutex_t seq24mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
|
||||
const pthread_cond_t condition_var::cond = PTHREAD_COND_INITIALIZER;
|
||||
|
||||
-mutex::mutex( )
|
||||
+seq24mutex::seq24mutex( )
|
||||
{
|
||||
m_mutex_lock = recmutex;
|
||||
}
|
||||
|
||||
void
|
||||
-mutex::lock( )
|
||||
+seq24mutex::lock( )
|
||||
{
|
||||
pthread_mutex_lock( &m_mutex_lock );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
-mutex::unlock( )
|
||||
+seq24mutex::unlock( )
|
||||
{
|
||||
pthread_mutex_unlock( &m_mutex_lock );
|
||||
}
|
||||
diff --git a/src/mutex.h b/src/mutex.h
|
||||
index 399f8a3..4f1b867 100644
|
||||
--- a/src/mutex.h
|
||||
+++ b/src/mutex.h
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
-class mutex {
|
||||
+class seq24mutex {
|
||||
|
||||
private:
|
||||
|
||||
@@ -37,14 +37,14 @@ protected:
|
||||
|
||||
public:
|
||||
|
||||
- mutex();
|
||||
+ seq24mutex();
|
||||
|
||||
void lock();
|
||||
void unlock();
|
||||
|
||||
};
|
||||
|
||||
-class condition_var : public mutex {
|
||||
+class condition_var : public seq24mutex {
|
||||
|
||||
private:
|
||||
|
||||
diff --git a/src/sequence.h b/src/sequence.h
|
||||
index 2943946..9da8700 100644
|
||||
--- a/src/sequence.h
|
||||
+++ b/src/sequence.h
|
||||
@@ -153,7 +153,7 @@ class sequence
|
||||
long m_rec_vol;
|
||||
|
||||
/* locking */
|
||||
- mutex m_mutex;
|
||||
+ seq24mutex m_mutex;
|
||||
|
||||
/* used to idenfity which events are ours in the out queue */
|
||||
//unsigned char m_tag;
|
Loading…
Reference in New Issue