diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-01 23:26:14 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-01 23:26:14 +0000 |
commit | 0c7b7216efc71e9b3851f1b43f2191a99619ff25 (patch) | |
tree | b957a47485c09a107bcce162d1bcf25caa81800a /libs/midi++2 | |
parent | cdaec2d09e86e28d38d5d472a90032984b0bfcb0 (diff) |
initial fixes to get build to work without new JACK MIDI, and to get it running with an older session, at least somewhat
git-svn-id: svn://localhost/ardour2/branches/midi@1773 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/midi++2')
-rw-r--r-- | libs/midi++2/jack_midiport.cc | 1 | ||||
-rw-r--r-- | libs/midi++2/midi++/jackcompat.h | 74 |
2 files changed, 75 insertions, 0 deletions
diff --git a/libs/midi++2/jack_midiport.cc b/libs/midi++2/jack_midiport.cc index 4b2808a698..3db96a214c 100644 --- a/libs/midi++2/jack_midiport.cc +++ b/libs/midi++2/jack_midiport.cc @@ -24,6 +24,7 @@ #include <midi++/types.h> #include <midi++/jack.h> #include <midi++/port_request.h> +#include <midi++/jackcompat.h> using namespace std; using namespace MIDI; diff --git a/libs/midi++2/midi++/jackcompat.h b/libs/midi++2/midi++/jackcompat.h new file mode 100644 index 0000000000..f1b748ea66 --- /dev/null +++ b/libs/midi++2/midi++/jackcompat.h @@ -0,0 +1,74 @@ +/* JACK MIDI API compatibility hacks. + * Copyright (C) 2007 Nedko Arnaudov <nedko@arnaudov.name> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef JACK_COMPAT_H +#define JACK_COMPAT_H + +#define JACK_MIDI_NEEDS_NFRAMES + +#if defined(JACK_MIDI_NEEDS_NFRAMES) + +static jack_nframes_t +jack_midi_get_event_count_compat( + void * port_buffer) +{ +#if defined(HAVE_OLD_JACK_MIDI) + return jack_midi_port_get_info(port_buffer, 0)->event_count; +#else + return jack_midi_get_event_count(port_buffer, 0); +#endif +} + +#define jack_midi_get_event_count jack_midi_get_event_count_compat + +static int +jack_midi_event_get_compat( + jack_midi_event_t * event, + void * port_buffer, + jack_nframes_t event_index) +{ + return jack_midi_event_get(event, port_buffer, event_index, 0); +} + +static int +jack_midi_event_write_compat(void *port_buffer, + jack_nframes_t time, + const jack_midi_data_t *data, + size_t data_size) +{ + return jack_midi_event_write (port_buffer, time, data, data_size, 0); +} + +static void +jack_midi_clear_buffer_compat(void* buf) +{ + jack_midi_clear_buffer (buf, 0); +} + +#define jack_midi_event_get jack_midi_event_get_compat +#define jack_midi_event_write jack_midi_event_write_compat +#define jack_midi_clear_buffer jack_midi_clear_buffer_compat + +#else + +#if defined(HAVE_OLD_JACK_MIDI) +#error "Old (0.102.20) JACK MIDI API needs nframes (autotools probably gone mad)" +#endif + +#endif /* #if defined(JACK_MIDI_NEEDS_NFRAMES) */ + +#endif /* JACK_COMPAT_H */ |