From 2c21cbb0444e69e80a1293d7942ee94628f22220 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 12 Jan 2014 11:33:58 -0500 Subject: add export/visibility macros to libtimecode and build as a shared library again --- libs/timecode/timecode/bbt_time.h | 4 +++- libs/timecode/timecode/time.h | 43 ++++++++++++++++++++------------------- libs/timecode/wscript | 11 ++++------ 3 files changed, 29 insertions(+), 29 deletions(-) (limited to 'libs/timecode') diff --git a/libs/timecode/timecode/bbt_time.h b/libs/timecode/timecode/bbt_time.h index b8be0774bd..9e2a48383b 100644 --- a/libs/timecode/timecode/bbt_time.h +++ b/libs/timecode/timecode/bbt_time.h @@ -23,10 +23,12 @@ #include #include +#include "timecode/visibility.h" + namespace Timecode { /** Bar, Beat, Tick Time (i.e. Tempo-Based Time) */ -struct BBT_Time { +struct LIBTIMECODE_API BBT_Time { static const double ticks_per_beat; uint32_t bars; diff --git a/libs/timecode/timecode/time.h b/libs/timecode/timecode/time.h index dcd537c7e5..8db7828680 100644 --- a/libs/timecode/timecode/time.h +++ b/libs/timecode/timecode/time.h @@ -22,6 +22,8 @@ #include #include +#include "timecode/visibility.h" + namespace Timecode { enum Wrap { @@ -47,7 +49,7 @@ enum TimecodeFormat { timecode_60 }; -struct Time { +struct LIBTIMECODE_API Time { bool negative; uint32_t hours; uint32_t minutes; @@ -87,35 +89,34 @@ struct Time { }; -Wrap increment (Time& timecode, uint32_t); -Wrap decrement (Time& timecode, uint32_t); -Wrap increment_subframes (Time& timecode, uint32_t); -Wrap decrement_subframes (Time& timecode, uint32_t); -Wrap increment_seconds (Time& timecode, uint32_t); -Wrap increment_minutes (Time& timecode, uint32_t); -Wrap increment_hours (Time& timecode, uint32_t); -void frames_floor (Time& timecode); -void seconds_floor (Time& timecode); -void minutes_floor (Time& timecode); -void hours_floor (Time& timecode); +Wrap LIBTIMECODE_API increment (Time& timecode, uint32_t); +Wrap LIBTIMECODE_API decrement (Time& timecode, uint32_t); +Wrap LIBTIMECODE_API increment_subframes (Time& timecode, uint32_t); +Wrap LIBTIMECODE_API decrement_subframes (Time& timecode, uint32_t); +Wrap LIBTIMECODE_API increment_seconds (Time& timecode, uint32_t); +Wrap LIBTIMECODE_API increment_minutes (Time& timecode, uint32_t); +Wrap LIBTIMECODE_API increment_hours (Time& timecode, uint32_t); +void LIBTIMECODE_API frames_floor (Time& timecode); +void LIBTIMECODE_API seconds_floor (Time& timecode); +void LIBTIMECODE_API minutes_floor (Time& timecode); +void LIBTIMECODE_API hours_floor (Time& timecode); -double timecode_to_frames_per_second(TimecodeFormat const t); -bool timecode_has_drop_frames(TimecodeFormat const t); +double LIBTIMECODE_API timecode_to_frames_per_second(TimecodeFormat const t); +bool LIBTIMECODE_API timecode_has_drop_frames(TimecodeFormat const t); -std::string timecode_format_name (TimecodeFormat const t); +std::string LIBTIMECODE_API timecode_format_name (TimecodeFormat const t); -std::string timecode_format_time (Timecode::Time const timecode); +std::string LIBTIMECODE_API timecode_format_time (Timecode::Time const timecode); -std::string timecode_format_sampletime ( +std::string LIBTIMECODE_API timecode_format_sampletime ( int64_t sample, double sample_frame_rate, double timecode_frames_per_second, bool timecode_drop_frames ); -bool parse_timecode_format(std::string tc, Timecode::Time &TC); +bool LIBTIMECODE_API parse_timecode_format(std::string tc, Timecode::Time &TC); -void -timecode_to_sample( +void LIBTIMECODE_API timecode_to_sample( Timecode::Time& timecode, int64_t& sample, bool use_offset, bool use_subframes, /* Note - framerate info is taken from Timecode::Time& */ @@ -125,7 +126,7 @@ timecode_to_sample( bool offset_is_negative, int64_t offset_samples ); -void sample_to_timecode ( +void LIBTIMECODE_API sample_to_timecode ( int64_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes, /* framerate info */ diff --git a/libs/timecode/wscript b/libs/timecode/wscript index 6bbf9493bd..0ca89403d1 100644 --- a/libs/timecode/wscript +++ b/libs/timecode/wscript @@ -15,15 +15,12 @@ def configure(conf): autowaf.configure(conf) def build(bld): - bld (export_includes = ['.'], - includes = ['.'], - name = 'libtimecode_includes' - ) - - bld.stlib (cxxflags = [ '-fPIC' ], + bld.shlib ( source = [ 'src/time.cc', 'src/bbt_time.cc' ], target = 'libtimecode', - use = 'libtimecode_includes' + includes = ['.'], + export_includes = ['.'], + defines = [ 'LIBTIMECODE_DLL_EXPORTS' ] ) def shutdown(): -- cgit v1.2.3