(Messy merge fixes)

- (Re) added Jack MIDI configure stuff to build script
- Fixed MIDI initialization (pass Jack client to MIDI::Manager)


git-svn-id: svn://localhost/ardour2/branches/midi@582 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
David Robillard 2006-06-14 02:27:09 +00:00
parent 868f557f26
commit a8f44b1556
2 changed files with 14 additions and 4 deletions

View file

@ -462,18 +462,25 @@ libraries['dmalloc'] = conf.Finish ()
# #
conf = Configure(env) conf = Configure(env)
if conf.CheckCHeader('jack/midiport.h'):
if conf.CheckCHeader('alsa/asoundlib.h'): libraries['sysmidi'] = LibraryInfo (LIBS='jack')
env['SYSMIDI'] = 'JACK MIDI'
subst_dict['%MIDITAG%'] = "control"
subst_dict['%MIDITYPE%'] = "jack"
print "Using JACK MIDI"
elif conf.CheckCHeader('alsa/asoundlib.h'):
libraries['sysmidi'] = LibraryInfo (LIBS='asound') libraries['sysmidi'] = LibraryInfo (LIBS='asound')
env['SYSMIDI'] = 'ALSA Sequencer' env['SYSMIDI'] = 'ALSA Sequencer'
subst_dict['%MIDITAG%'] = "seq" subst_dict['%MIDITAG%'] = "seq"
subst_dict['%MIDITYPE%'] = "alsa/sequencer" subst_dict['%MIDITYPE%'] = "alsa/sequencer"
print "Using ALSA MIDI"
elif conf.CheckCHeader('/System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h'): elif conf.CheckCHeader('/System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h'):
# this line is needed because scons can't handle -framework in ParseConfig() yet. # this line is needed because scons can't handle -framework in ParseConfig() yet.
libraries['sysmidi'] = LibraryInfo (LINKFLAGS= '-framework CoreMIDI -framework CoreFoundation -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox -bind_at_load') libraries['sysmidi'] = LibraryInfo (LINKFLAGS= '-framework CoreMIDI -framework CoreFoundation -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox -bind_at_load')
env['SYSMIDI'] = 'CoreMIDI' env['SYSMIDI'] = 'CoreMIDI'
subst_dict['%MIDITAG%'] = "ardour" subst_dict['%MIDITAG%'] = "ardour"
subst_dict['%MIDITYPE%'] = "coremidi" subst_dict['%MIDITYPE%'] = "coremidi"
print "Using CoreMIDI"
else: else:
print "It appears you don't have the required MIDI libraries installed." print "It appears you don't have the required MIDI libraries installed."
sys.exit (1) sys.exit (1)

View file

@ -47,6 +47,7 @@
#include <ardour/utils.h> #include <ardour/utils.h>
#include <ardour/session.h> #include <ardour/session.h>
#include <ardour/control_protocol_manager.h> #include <ardour/control_protocol_manager.h>
#include <ardour/audioengine.h>
#ifdef HAVE_LIBLO #ifdef HAVE_LIBLO
#include <ardour/osc.h> #include <ardour/osc.h>
@ -99,7 +100,7 @@ setup_osc ()
#endif #endif
static int static int
setup_midi () setup_midi (AudioEngine& engine )
{ {
std::map<string,Configuration::MidiPortDescriptor*>::iterator i; std::map<string,Configuration::MidiPortDescriptor*>::iterator i;
int nports; int nports;
@ -109,6 +110,8 @@ setup_midi ()
return 0; return 0;
} }
MIDI::Manager::instance()->set_api_data(engine.jack());
for (i = Config->midi_ports.begin(); i != Config->midi_ports.end(); ++i) { for (i = Config->midi_ports.begin(); i != Config->midi_ports.end(); ++i) {
Configuration::MidiPortDescriptor* port_descriptor; Configuration::MidiPortDescriptor* port_descriptor;
@ -202,7 +205,7 @@ ARDOUR::init (AudioEngine& engine, bool use_vst, bool try_optimization, void (*s
Config->set_use_vst (use_vst); Config->set_use_vst (use_vst);
if (setup_midi ()) { if (setup_midi (engine)) {
return -1; return -1;
} }