diff options
Diffstat (limited to 'libs/evoral')
-rw-r--r-- | libs/evoral/evoral/visibility.h | 35 | ||||
-rw-r--r-- | libs/evoral/src/libsmf/smf.c | 12 | ||||
-rw-r--r-- | libs/evoral/src/libsmf/smf_decode.c | 2 | ||||
-rw-r--r-- | libs/evoral/src/libsmf/smf_load.c | 12 | ||||
-rw-r--r-- | libs/evoral/src/libsmf/smf_private.h | 1 | ||||
-rw-r--r-- | libs/evoral/src/libsmf/smf_save.c | 4 | ||||
-rw-r--r-- | libs/evoral/src/libsmf/smf_tempo.c | 6 | ||||
-rw-r--r-- | libs/evoral/wscript | 4 |
8 files changed, 39 insertions, 37 deletions
diff --git a/libs/evoral/evoral/visibility.h b/libs/evoral/evoral/visibility.h index 380caca2fd..fc6d23a401 100644 --- a/libs/evoral/evoral/visibility.h +++ b/libs/evoral/evoral/visibility.h @@ -20,37 +20,26 @@ #ifndef __libevoral_visibility_h__ #define __libevoral_visibility_h__ -/* _WIN32 is defined by most compilers targetting Windows, but within the - * evoral source tree, we also define COMPILER_MSVC or COMPILER_MINGW depending - * on how a Windows build is built. - */ - -#if defined _WIN32 || defined __CYGWIN__ || defined(COMPILER_MSVC) || defined(COMPILER_MINGW) +#if defined(COMPILER_MSVC) #define LIBEVORAL_DLL_IMPORT __declspec(dllimport) #define LIBEVORAL_DLL_EXPORT __declspec(dllexport) #define LIBEVORAL_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBEVORAL_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBEVORAL_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBEVORAL_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBEVORAL_DLL_IMPORT - #define LIBEVORAL_DLL_EXPORT - #define LIBEVORAL_DLL_LOCAL - #endif + #define LIBEVORAL_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBEVORAL_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBEVORAL_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBEVORAL_DLL // libevoral is a DLL -#ifdef LIBEVORAL_DLL_EXPORTS // defined if we are building the libevoral DLL (instead of using it) - #define LIBEVORAL_API LIBEVORAL_DLL_EXPORT +#ifdef LIBEVORAL_STATIC // libevoral is not a DLL + #define LIBEVORAL_API + #define LIBEVORAL_LOCAL #else + #ifdef LIBEVORAL_DLL_EXPORTS // defined if we are building the libevoral DLL (instead of using it) + #define LIBEVORAL_API LIBEVORAL_DLL_EXPORT + #else #define LIBEVORAL_API LIBEVORAL_DLL_IMPORT -#endif -#define LIBEVORAL_LOCAL LIBEVORAL_DLL_LOCAL -#else /* static lib, not DLL */ -#define LIBEVORAL_API -#define LIBEVORAL_LOCAL + #endif + #define LIBEVORAL_LOCAL LIBEVORAL_DLL_LOCAL #endif #endif /* __libevoral_visibility_h__ */ diff --git a/libs/evoral/src/libsmf/smf.c b/libs/evoral/src/libsmf/smf.c index ba805e0b04..3fde1d831e 100644 --- a/libs/evoral/src/libsmf/smf.c +++ b/libs/evoral/src/libsmf/smf.c @@ -155,7 +155,9 @@ smf_track_delete(smf_track_t *track) void smf_add_track(smf_t *smf, smf_track_t *track) { +#ifndef NDEBUG int cantfail; +#endif assert(track->smf == NULL); @@ -166,8 +168,13 @@ smf_add_track(smf_t *smf, smf_track_t *track) track->track_number = smf->number_of_tracks; if (smf->number_of_tracks > 1) { +#ifndef NDEBUG cantfail = smf_set_format(smf, 1); assert(!cantfail); +#else + smf_set_format(smf, 1); +#endif + } } @@ -864,9 +871,8 @@ smf_get_next_event(smf_t *smf) void smf_skip_next_event(smf_t *smf) { - void *notused; - - notused = smf_get_next_event(smf); + smf_event_t *ignored = smf_get_next_event(smf); + (void) ignored; } /** diff --git a/libs/evoral/src/libsmf/smf_decode.c b/libs/evoral/src/libsmf/smf_decode.c index 7a64a15d0d..8037fd80d2 100644 --- a/libs/evoral/src/libsmf/smf_decode.c +++ b/libs/evoral/src/libsmf/smf_decode.c @@ -494,7 +494,7 @@ static void note_from_int(char *buf, int note_number) { int note, octave; - char *names[] = {"C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"}; + const char *names[] = {"C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"}; octave = note_number / 12 - 1; note = note_number % 12; diff --git a/libs/evoral/src/libsmf/smf_load.c b/libs/evoral/src/libsmf/smf_load.c index fed4d28bb7..d8168d0e6a 100644 --- a/libs/evoral/src/libsmf/smf_load.c +++ b/libs/evoral/src/libsmf/smf_load.c @@ -282,7 +282,11 @@ expected_sysex_length(const unsigned char status, const unsigned char *second_by uint32_t sysex_length = 0; uint32_t len = 0; +#ifndef NDEBUG + (void) status; +#else assert(status == 0xF0); +#endif if (buffer_length < 3) { g_critical("SMF error: end of buffer in expected_sysex_length()."); @@ -545,7 +549,7 @@ extract_midi_event(const unsigned char *buf, const size_t buffer_length, smf_eve static smf_event_t * parse_next_event(smf_track_t *track) { - uint32_t time = 0; + uint32_t etime = 0; uint32_t len; size_t buffer_length; unsigned char *c, *start; @@ -564,7 +568,7 @@ parse_next_event(smf_track_t *track) assert(buffer_length > 0); /* First, extract time offset from previous event. */ - if (smf_extract_vlq(c, buffer_length, &time, &len)) + if (smf_extract_vlq(c, buffer_length, &etime, &len)) goto error; c += len; @@ -582,7 +586,7 @@ parse_next_event(smf_track_t *track) track->last_status = event->midi_buffer[0]; track->next_event_offset += c - start; - smf_track_add_event_delta_pulses(track, event, time); + smf_track_add_event_delta_pulses(track, event, etime); return (event); @@ -637,7 +641,7 @@ smf_event_is_textual(const smf_event_t *event) if (event->midi_buffer_length < 4) return (0); - if (event->midi_buffer[3] < 1 && event->midi_buffer[3] > 9) + if (event->midi_buffer[3] < 1 || event->midi_buffer[3] > 9) return (0); return (1); diff --git a/libs/evoral/src/libsmf/smf_private.h b/libs/evoral/src/libsmf/smf_private.h index 537a29b889..f415eac9da 100644 --- a/libs/evoral/src/libsmf/smf_private.h +++ b/libs/evoral/src/libsmf/smf_private.h @@ -75,6 +75,7 @@ void remove_last_tempo_with_pulses(smf_t *smf, size_t pulses); int smf_event_is_tempo_change_or_time_signature(const smf_event_t *event) WARN_UNUSED_RESULT; int smf_event_length_is_valid(const smf_event_t *event) WARN_UNUSED_RESULT; int is_status_byte(const unsigned char status) WARN_UNUSED_RESULT; +smf_track_t* smf_find_track_with_next_event (smf_t *smf); #endif /* SMF_PRIVATE_H */ diff --git a/libs/evoral/src/libsmf/smf_save.c b/libs/evoral/src/libsmf/smf_save.c index 3b313cff5a..120c3a95eb 100644 --- a/libs/evoral/src/libsmf/smf_save.c +++ b/libs/evoral/src/libsmf/smf_save.c @@ -219,7 +219,11 @@ smf_event_new_textual(int type, const char *text) vlq_length = smf_format_vlq(event->midi_buffer + 2, MAX_VLQ_LENGTH - 2, text_length); copied_length = snprintf((char *)event->midi_buffer + vlq_length + 2, event->midi_buffer_length - vlq_length - 2, "%s", text); +#ifndef NDEBUG + (void) copied_length; /* stop gcc warning about unusued vars for non-debug build */ +#else assert(copied_length == text_length); +#endif event->midi_buffer_length = 2 + vlq_length + text_length; diff --git a/libs/evoral/src/libsmf/smf_tempo.c b/libs/evoral/src/libsmf/smf_tempo.c index 6620cd405c..f3e3f7fc1b 100644 --- a/libs/evoral/src/libsmf/smf_tempo.c +++ b/libs/evoral/src/libsmf/smf_tempo.c @@ -133,13 +133,13 @@ maybe_add_to_tempo_map(smf_event_t *event) /* Tempo Change? */ if (event->midi_buffer[1] == 0x51) { - int new_tempo = (event->midi_buffer[3] << 16) + (event->midi_buffer[4] << 8) + event->midi_buffer[5]; - if (new_tempo <= 0) { + int ntempo = (event->midi_buffer[3] << 16) + (event->midi_buffer[4] << 8) + event->midi_buffer[5]; + if (ntempo <= 0) { g_critical("Ignoring invalid tempo change."); return; } - add_tempo(event->track->smf, event->time_pulses, new_tempo); + add_tempo(event->track->smf, event->time_pulses, ntempo); } /* Time Signature? */ diff --git a/libs/evoral/wscript b/libs/evoral/wscript index 569aa0fc6b..30b20f2cbd 100644 --- a/libs/evoral/wscript +++ b/libs/evoral/wscript @@ -91,9 +91,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=lib_source) # DLL exports for this library - obj.defines = [ 'LIBEVORAL_DLL=1', 'LIBEVORAL_DLL_EXPORTS=1' ] - # DLL imports for other libraries - obj.defines += [ 'LIBPBD_DLL=1' ] + obj.defines = [ 'LIBEVORAL_DLL_EXPORTS=1' ] obj.cxxflags = [ '-fvisibility=hidden' ] obj.cflags = [ '-fvisibility=hidden' ] else: |