summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-05-04 02:50:31 +0000
committerDavid Robillard <d@drobilla.net>2007-05-04 02:50:31 +0000
commitb8e9b3f071e294488eb03f9e13adc333352909bb (patch)
treea242bef63b3ead0d86ab258cc50ba32bb7e250f5 /libs
parentacdfe9857a7b84ca151f3ab696ea696d6c778dca (diff)
Real fix for Jack MIDI crash. Maybe!
git-svn-id: svn://localhost/ardour2/branches/midi@1782 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/ardour.h4
-rw-r--r--libs/ardour/globals.cc10
-rw-r--r--libs/midi++2/jack_midiport.cc10
-rw-r--r--libs/midi++2/midi++/jackcompat.h2
4 files changed, 12 insertions, 14 deletions
diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h
index 332b9af733..e1be7ad998 100644
--- a/libs/ardour/ardour/ardour.h
+++ b/libs/ardour/ardour/ardour.h
@@ -44,8 +44,10 @@ namespace ARDOUR {
static const nframes_t max_frames = JACK_MAX_FRAMES;
- int init (AudioEngine& engine, bool with_vst, bool try_optimization);
+ int init (bool with_vst, bool try_optimization);
int cleanup ();
+
+ int setup_midi(AudioEngine& engine);
std::string get_ardour_revision ();
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index ce0b333bcb..fcebe92dce 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -108,8 +108,8 @@ setup_osc ()
}
#endif
-static int
-setup_midi (AudioEngine& engine )
+int
+ARDOUR::setup_midi (AudioEngine& engine)
{
std::map<string,Configuration::MidiPortDescriptor*>::iterator i;
int nports;
@@ -286,7 +286,7 @@ setup_hardware_optimization (bool try_optimization)
}
int
-ARDOUR::init (ARDOUR::AudioEngine& engine, bool use_vst, bool try_optimization)
+ARDOUR::init (bool use_vst, bool try_optimization)
{
extern void setup_enum_writer ();
@@ -307,10 +307,6 @@ ARDOUR::init (ARDOUR::AudioEngine& engine, bool use_vst, bool try_optimization)
Profile = new RuntimeProfile;
- if (setup_midi (engine)) {
- return -1;
- }
-
#ifdef HAVE_LIBLO
if (setup_osc ()) {
return -1;
diff --git a/libs/midi++2/jack_midiport.cc b/libs/midi++2/jack_midiport.cc
index 98d29351b5..3db96a214c 100644
--- a/libs/midi++2/jack_midiport.cc
+++ b/libs/midi++2/jack_midiport.cc
@@ -100,7 +100,7 @@ JACK_MidiPort::create_ports(PortRequest & req)
assert(!_jack_input_port);
assert(!_jack_output_port);
- //jack_nframes_t nframes = jack_get_buffer_size(_jack_client);
+ jack_nframes_t nframes = jack_get_buffer_size(_jack_client);
bool ret = true;
@@ -108,8 +108,8 @@ JACK_MidiPort::create_ports(PortRequest & req)
_jack_output_port = jack_port_register(_jack_client,
string(req.tagname).append("_out").c_str(),
JACK_DEFAULT_MIDI_TYPE, JackPortIsOutput, 0);
- //jack_midi_clear_buffer(
- // jack_port_get_buffer(_jack_output_port, nframes));
+ jack_midi_clear_buffer(
+ jack_port_get_buffer(_jack_output_port, nframes));
ret = ret && (_jack_output_port != NULL);
}
@@ -117,8 +117,8 @@ JACK_MidiPort::create_ports(PortRequest & req)
_jack_input_port = jack_port_register(_jack_client,
string(req.tagname).append("_in").c_str(),
JACK_DEFAULT_MIDI_TYPE, JackPortIsInput, 0);
- //jack_midi_clear_buffer(
- // jack_port_get_buffer(_jack_input_port, nframes));
+ jack_midi_clear_buffer(
+ jack_port_get_buffer(_jack_input_port, nframes));
ret = ret && (_jack_input_port != NULL);
}
diff --git a/libs/midi++2/midi++/jackcompat.h b/libs/midi++2/midi++/jackcompat.h
index f1b748ea66..bf179f7333 100644
--- a/libs/midi++2/midi++/jackcompat.h
+++ b/libs/midi++2/midi++/jackcompat.h
@@ -18,7 +18,7 @@
#ifndef JACK_COMPAT_H
#define JACK_COMPAT_H
-#define JACK_MIDI_NEEDS_NFRAMES
+//#define JACK_MIDI_NEEDS_NFRAMES
#if defined(JACK_MIDI_NEEDS_NFRAMES)