summaryrefslogtreecommitdiff
path: root/libs/surfaces/generic_midi
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-17 18:24:23 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-17 18:24:23 +0000
commitf6fdd8dcbf41f864e9f0cc32dabe81fe3533ddfe (patch)
tree5214c580b9e6c17a499fa587660dbf949e892bf2 /libs/surfaces/generic_midi
parentda762129f19c28aff64f833b6ec09fba946faef6 (diff)
switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/generic_midi')
-rw-r--r--libs/surfaces/generic_midi/generic_midi_control_protocol.cc4
-rw-r--r--libs/surfaces/generic_midi/midicontrollable.cc20
-rw-r--r--libs/surfaces/generic_midi/midicontrollable.h6
3 files changed, 15 insertions, 15 deletions
diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
index 097dbc3aec..a20835dc05 100644
--- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
+++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
@@ -175,11 +175,13 @@ GenericMidiControlProtocol::start_learning (Controllable* c)
{
Glib::Mutex::Lock lm (pending_lock);
- std::pair<MIDIControllable *, sigc::connection> element;
+#if 0 // BOOST SIGNALS
+ std::pair<MIDIControllable *, boost::signals2::scoped_connection> element;
element.first = mc;
element.second = c->LearningFinished.connect (bind (mem_fun (*this, &GenericMidiControlProtocol::learning_stopped), mc));
pending_controllables.push_back (element);
+#endif
}
mc->learn_about_external_control ();
diff --git a/libs/surfaces/generic_midi/midicontrollable.cc b/libs/surfaces/generic_midi/midicontrollable.cc
index 124ef95615..533bb6db21 100644
--- a/libs/surfaces/generic_midi/midicontrollable.cc
+++ b/libs/surfaces/generic_midi/midicontrollable.cc
@@ -27,7 +27,6 @@
#include "midicontrollable.h"
-using namespace sigc;
using namespace std;
using namespace MIDI;
using namespace PBD;
@@ -110,7 +109,7 @@ void
MIDIControllable::learn_about_external_control ()
{
drop_external_control ();
- midi_learn_connection = _port.input()->any.connect (mem_fun (*this, &MIDIControllable::midi_receiver));
+ midi_learn_connection = _port.input()->any.connect (boost::bind (&MIDIControllable::midi_receiver, this, _1, _2, _3));
}
void
@@ -302,7 +301,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
switch (ev) {
case MIDI::off:
midi_sense_connection[0] = p.channel_note_off[chn_i].connect
- (mem_fun (*this, &MIDIControllable::midi_sense_note_off));
+ (boost::bind (&MIDIControllable::midi_sense_note_off, this, _1, _2));
/* if this is a bistate, connect to noteOn as well,
and we'll toggle back and forth between the two.
@@ -310,7 +309,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
if (bistate) {
midi_sense_connection[1] = p.channel_note_on[chn_i].connect
- (mem_fun (*this, &MIDIControllable::midi_sense_note_on));
+ (boost::bind (&MIDIControllable::midi_sense_note_on, this, _1, _2));
connections = 2;
} else {
connections = 1;
@@ -320,20 +319,20 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
case MIDI::on:
midi_sense_connection[0] = p.channel_note_on[chn_i].connect
- (mem_fun (*this, &MIDIControllable::midi_sense_note_on));
+ (boost::bind (&MIDIControllable::midi_sense_note_on, this, _1, _2));
if (bistate) {
midi_sense_connection[1] = p.channel_note_off[chn_i].connect
- (mem_fun (*this, &MIDIControllable::midi_sense_note_off));
+ (boost::bind (&MIDIControllable::midi_sense_note_off, this, _1, _2));
connections = 2;
} else {
connections = 1;
}
_control_description = "MIDI control: NoteOn";
break;
-
+
case MIDI::controller:
midi_sense_connection[0] = p.channel_controller[chn_i].connect
- (mem_fun (*this, &MIDIControllable::midi_sense_controller));
+ (boost::bind (&MIDIControllable::midi_sense_controller, this, _1, _2));
connections = 1;
snprintf (buf, sizeof (buf), "MIDI control: Controller %d", control_additional);
_control_description = buf;
@@ -342,8 +341,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
case MIDI::program:
if (!bistate) {
midi_sense_connection[0] = p.channel_program_change[chn_i].connect
- (mem_fun (*this,
- &MIDIControllable::midi_sense_program_change));
+ (boost::bind (&MIDIControllable::midi_sense_program_change, this, _1, _2));
connections = 1;
_control_description = "MIDI control: ProgramChange";
}
@@ -352,7 +350,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
case MIDI::pitchbend:
if (!bistate) {
midi_sense_connection[0] = p.channel_pitchbend[chn_i].connect
- (mem_fun (*this, &MIDIControllable::midi_sense_pitchbend));
+ (boost::bind (&MIDIControllable::midi_sense_pitchbend, this, _1, _2));
connections = 1;
_control_description = "MIDI control: Pitchbend";
}
diff --git a/libs/surfaces/generic_midi/midicontrollable.h b/libs/surfaces/generic_midi/midicontrollable.h
index a9a40944d8..cc85cc42c1 100644
--- a/libs/surfaces/generic_midi/midicontrollable.h
+++ b/libs/surfaces/generic_midi/midicontrollable.h
@@ -22,7 +22,7 @@
#include <string>
-#include <sigc++/sigc++.h>
+#include <boost/signals2.hpp>
#include "midi++/types.h"
#include "pbd/controllable.h"
@@ -82,8 +82,8 @@ class MIDIControllable : public PBD::Stateful
MIDI::byte last_value;
bool bistate;
int midi_msg_id; /* controller ID or note number */
- sigc::connection midi_sense_connection[2];
- sigc::connection midi_learn_connection;
+ boost::signals2::connection midi_sense_connection[2];
+ boost::signals2::connection midi_learn_connection;
size_t connections;
MIDI::eventType control_type;
MIDI::byte control_additional;