+/*
+ Copyright (C) 2000-2007 Paul Davis
+
+ 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; either version 2 of the License, or
+ (at your option) any later version.
+
+ 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
#ifndef __midi_types_h__
#define __midi_types_h__
+#include <inttypes.h>
+
+#include "midi++/libmidi_visibility.h"
+
namespace MIDI {
typedef char channel_t;
- typedef float controller_value_t;
+ typedef float controller_value_t;
typedef unsigned char byte;
typedef unsigned short pitchbend_t;
+ typedef uint32_t timestamp_t;
+
+ /** XXX: dupes from libardour */
+ typedef int64_t framecnt_t;
+ typedef uint32_t pframes_t;
enum eventType {
none = 0x0,
reset = 0xFF
};
- extern const char *controller_names[];
+ LIBMIDIPP_API extern const char *controller_names[];
byte decode_controller_name (const char *name);
- struct EventTwoBytes {
+ struct LIBMIDIPP_API EventTwoBytes {
union {
byte note_number;
byte controller_number;
};
};
- enum MTC_FPS {
+ enum LIBMIDIPP_API MTC_FPS {
MTC_24_FPS = 0,
MTC_25_FPS = 1,
MTC_30_FPS_DROP = 2,
MTC_30_FPS = 3
};
- enum MTC_Status {
+ enum LIBMIDIPP_API MTC_Status {
MTC_Stopped = 0,
MTC_Forward,
- MTC_Backward,
+ MTC_Backward
};
-}; /* namespace MIDI */
+} // namespace MIDI
#endif // __midi_types_h__