Jack2  1.9.10
midiport.h
00001 /*
00002     Copyright (C) 2004 Ian Esten
00003 
00004     This program is free software; you can redistribute it and/or modify
00005     it under the terms of the GNU Lesser General Public License as published by
00006     the Free Software Foundation; either version 2.1 of the License, or
00007     (at your option) any later version.
00008 
00009     This program is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012     GNU Lesser General Public License for more details.
00013 
00014     You should have received a copy of the GNU Lesser General Public License
00015     along with this program; if not, write to the Free Software
00016     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017 
00018 */
00019 
00020 
00021 #ifndef __JACK_MIDIPORT_H
00022 #define __JACK_MIDIPORT_H
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 #include <jack/weakmacros.h>
00029 #include <jack/types.h>
00030 #include <stdlib.h>
00031 
00032 
00034 typedef unsigned char jack_midi_data_t;
00035 
00036 
00038 typedef struct _jack_midi_event
00039 {
00040         jack_nframes_t    time;   
00041         size_t            size;   
00042         jack_midi_data_t *buffer; 
00043 } jack_midi_event_t;
00044 
00045 
00056 uint32_t
00057 jack_midi_get_event_count(void* port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
00058 
00059 
00071 int
00072 jack_midi_event_get(jack_midi_event_t *event,
00073                     void        *port_buffer,
00074                     uint32_t    event_index) JACK_OPTIONAL_WEAK_EXPORT;
00075 
00076 
00085 void
00086 jack_midi_clear_buffer(void *port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
00087 
00096 void
00097 jack_midi_reset_buffer(void *port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
00098 
00099 
00107 size_t
00108 jack_midi_max_event_size(void* port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
00109 
00110 
00130 jack_midi_data_t*
00131 jack_midi_event_reserve(void *port_buffer,
00132                         jack_nframes_t  time,
00133                         size_t data_size) JACK_OPTIONAL_WEAK_EXPORT;
00134 
00135 
00157 int
00158 jack_midi_event_write(void *port_buffer,
00159                       jack_nframes_t time,
00160                       const jack_midi_data_t *data,
00161                       size_t data_size) JACK_OPTIONAL_WEAK_EXPORT;
00162 
00163 
00172 uint32_t
00173 jack_midi_get_lost_event_count(void *port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
00174 
00177 #ifdef __cplusplus
00178 }
00179 #endif
00180 
00181 
00182 #endif /* __JACK_MIDIPORT_H */
00183 
00184