Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc

Conflicts (hopefully resolved):
	gtk2_ardour/wscript
	libs/ardour/ardour/audioregion.h
	libs/ardour/ardour/debug.h
	libs/ardour/ardour/directory_names.h
	libs/ardour/ardour/filesystem_paths.h
	libs/ardour/ardour/session_event.h
	libs/gtkmm2ext/gtkmm2ext/utils.h
	libs/panners/1in2out/wscript
	libs/panners/2in2out/wscript
	libs/panners/vbap/wscript
	libs/pbd/pbd/debug.h
	libs/pbd/pbd/file_utils.h
	libs/pbd/pbd/pathexpand.h
	libs/pbd/pbd/ringbuffer.h
	libs/pbd/pbd/ringbufferNPT.h
	libs/pbd/pbd/search_path.h
	libs/pbd/pbd/stacktrace.h
	libs/pbd/pbd/uuid.h
	libs/pbd/pbd/uuid_boost.h
	libs/surfaces/control_protocol/control_protocol/basic_ui.h
	libs/surfaces/control_protocol/control_protocol/control_protocol.h
This commit is contained in:
John Emmas 2013-10-18 10:03:22 +01:00
commit b855e5f322
421 changed files with 2167 additions and 1150 deletions

View file

@ -256,7 +256,8 @@ def configure(conf):
autowaf.build_version_files(
path_prefix + 'version.h',
path_prefix + 'version.cc',
'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0)
'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0,
'', '')
autowaf.configure(conf)
if Options.options.dist_target == 'auto':
@ -394,7 +395,21 @@ def build(bld):
obj.source = gtk2_ardour_sources
obj.target = 'ardour-' + bld.env['VERSION']
obj.includes = ['.']
obj.defines = []
# if our internal libraries are built as DLL's, define
# the macros that activate the right stuff in headers
# for export/visibility to work on all platforms.
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
obj.defines += [ 'LIBPBD_DLL=1',
'LIBARDOUR_DLL=1',
'LIBMIDIPP_DLL=1',
'LIBARDOUR_DLL=1',
'LIBARDOUR_CP_DLL=1',
'LIBGTKMM2EXT_DLL=1',
'LIBEVORAL_DLL=1',
]
# continue with setup of obj, which could be a shared library
# or an executable.
@ -416,7 +431,7 @@ def build(bld):
if sys.platform == 'darwin':
obj.uselib += ' AUDIOUNITS OSX GTKOSX'
obj.use += ' libappleutility'
obj.defines = [
obj.defines += [
'PACKAGE="' + I18N_PACKAGE + '"',
'VERSIONSTRING="' + bld.env['VERSION'] + '"',
'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',

View file

@ -19,6 +19,7 @@
#ifndef __ardour_amp_h__
#define __ardour_amp_h__
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/chan_count.h"
#include "ardour/processor.h"
@ -32,7 +33,7 @@ class IO;
/** Applies a declick operation to all audio inputs, passing the same number of
* audio outputs, and passing through any other types unchanged.
*/
class Amp : public Processor {
class LIBARDOUR_API Amp : public Processor {
public:
Amp(Session& s);

View file

@ -23,13 +23,15 @@
#include <glibmm/threads.h>
#include <boost/shared_ptr.hpp>
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
class AudioFileSource;
class Source;
class TransientDetector;
class Analyser {
class LIBARDOUR_API Analyser {
public:
Analyser();

View file

@ -34,7 +34,9 @@
#include "pbd/locale_guard.h"
#include "pbd/stateful.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/libardour_visibility.h"
#include <jack/jack.h>
@ -47,8 +49,8 @@ namespace ARDOUR {
class AudioEngine;
extern PBD::Signal1<void,std::string> BootMessage;
extern PBD::Signal0<void> GUIIdle;
LIBARDOUR_API extern PBD::Signal1<void,std::string> BootMessage;
LIBARDOUR_API extern PBD::Signal0<void> GUIIdle;
/**
* @param with_vst true to enable VST Support
@ -58,27 +60,27 @@ namespace ARDOUR {
*
* @return true if Ardour library was successfully initialized
*/
bool init (bool with_vst, bool try_optimization, const char* localedir);
void init_post_engine ();
void cleanup ();
bool no_auto_connect ();
void make_property_quarks ();
LIBARDOUR_API bool init (bool with_vst, bool try_optimization, const char* localedir);
LIBARDOUR_API void init_post_engine ();
LIBARDOUR_API void cleanup ();
LIBARDOUR_API bool no_auto_connect ();
LIBARDOUR_API void make_property_quarks ();
extern PBD::PropertyChange bounds_change;
LIBARDOUR_API extern PBD::PropertyChange bounds_change;
extern const char* const ardour_config_info;
LIBARDOUR_API extern const char* const ardour_config_info;
void find_bindings_files (std::map<std::string,std::string>&);
LIBARDOUR_API void find_bindings_files (std::map<std::string,std::string>&);
/* these only impact bundled installations */
std::string translation_enable_path ();
bool translations_are_enabled ();
bool set_translations_enabled (bool);
LIBARDOUR_API std::string translation_enable_path ();
LIBARDOUR_API bool translations_are_enabled ();
LIBARDOUR_API bool set_translations_enabled (bool);
microseconds_t get_microseconds ();
LIBARDOUR_API microseconds_t get_microseconds ();
void setup_fpu ();
std::vector<SyncSource> get_available_sync_options();
LIBARDOUR_API void setup_fpu ();
LIBARDOUR_API std::vector<SyncSource> get_available_sync_options();
}
#endif /* __ardour_ardour_h__ */

View file

@ -34,11 +34,12 @@
#include "midi++/parser.h"
#include "midi++/port.h"
#include "ardour/libardour_visibility.h"
#include "ardour/midi_port.h"
namespace ARDOUR {
class AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port {
class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port {
public:
AsyncMIDIPort (std::string const &, PortFlags);

View file

@ -28,6 +28,7 @@
#include <boost/function.hpp>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/audioengine.h"
#include "ardour/port_engine.h"
@ -42,7 +43,7 @@
namespace ARDOUR {
class AudioBackend : public PortEngine {
class LIBARDOUR_API AudioBackend : public PortEngine {
public:
AudioBackend (AudioEngine& e) : PortEngine (e), engine (e) {}
@ -461,7 +462,7 @@ class AudioBackend : public PortEngine {
AudioEngine& engine;
};
struct AudioBackendInfo {
struct LIBARDOUR_API AudioBackendInfo {
const char* name;
/** Using arg1 and arg2, initialize this audiobackend.

View file

@ -27,7 +27,7 @@
namespace ARDOUR {
/** Buffer containing audio data. */
class AudioBuffer : public Buffer
class LIBARDOUR_API AudioBuffer : public Buffer
{
public:
AudioBuffer(size_t capacity);

View file

@ -53,7 +53,7 @@ class AudioPlaylist;
class AudioFileSource;
class IO;
class AudioDiskstream : public Diskstream
class LIBARDOUR_API AudioDiskstream : public Diskstream
{
public:
AudioDiskstream (Session &, const std::string& name, Diskstream::Flag f = Recordable);

View file

@ -24,9 +24,11 @@
#include <map>
#include <vector>
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
class AudioLibrary
class LIBARDOUR_API AudioLibrary
{
public:
AudioLibrary ();
@ -43,7 +45,7 @@ class AudioLibrary
std::string src;
};
extern AudioLibrary* Library;
LIBARDOUR_API extern AudioLibrary* Library;
} // ARDOUR namespace

View file

@ -38,7 +38,7 @@ class AudioRegionImporter;
class AudioPlaylistImporter;
class Session;
class AudioPlaylistImportHandler : public ElementImportHandler
class LIBARDOUR_API AudioPlaylistImportHandler : public ElementImportHandler
{
public:
typedef boost::shared_ptr<AudioPlaylistImporter> PlaylistPtr;
@ -57,7 +57,7 @@ class AudioPlaylistImportHandler : public ElementImportHandler
AudioRegionImportHandler & region_handler;
};
class UnusedAudioPlaylistImportHandler : public AudioPlaylistImportHandler
class LIBARDOUR_API UnusedAudioPlaylistImportHandler : public AudioPlaylistImportHandler
{
public:
UnusedAudioPlaylistImportHandler (XMLTree const & source, Session & session, AudioRegionImportHandler & region_handler) :
@ -65,7 +65,7 @@ class UnusedAudioPlaylistImportHandler : public AudioPlaylistImportHandler
std::string get_info () const;
};
class AudioPlaylistImporter : public ElementImporter
class LIBARDOUR_API AudioPlaylistImporter : public ElementImporter
{
public:
AudioPlaylistImporter (XMLTree const & source, Session & session, AudioPlaylistImportHandler & handler, XMLNode const & node);

View file

@ -32,7 +32,7 @@ namespace ARDOUR {
class AudioPlaylist;
class AudioPlaylistSource : public PlaylistSource, public AudioSource {
class LIBARDOUR_API AudioPlaylistSource : public PlaylistSource, public AudioSource {
public:
virtual ~AudioPlaylistSource ();

View file

@ -26,7 +26,7 @@
namespace ARDOUR {
class AudioPort : public Port
class LIBARDOUR_API AudioPort : public Port
{
public:
~AudioPort ();

View file

@ -39,7 +39,7 @@ class Region;
class Session;
class Source;
class AudioRegionImportHandler : public ElementImportHandler
class LIBARDOUR_API AudioRegionImportHandler : public ElementImportHandler
{
public:
// Inerface implementation
@ -69,7 +69,7 @@ class AudioRegionImportHandler : public ElementImportHandler
IdMap id_map;
};
class AudioRegionImporter : public ElementImporter
class LIBARDOUR_API AudioRegionImporter : public ElementImporter
{
public:
AudioRegionImporter (XMLTree const & source, Session & session, AudioRegionImportHandler & handler, XMLNode const & node);

View file

@ -31,7 +31,7 @@ class AudioPlaylist;
class RouteGroup;
class AudioFileSource;
class AudioTrack : public Track
class LIBARDOUR_API AudioTrack : public Track
{
public:
AudioTrack (Session&, std::string name, Route::Flag f = Route::Flag (0), TrackMode m = Normal);

View file

@ -34,7 +34,7 @@ namespace ARDOUR {
class AudioPlaylistImportHandler;
class AudioPlaylistImporter;
class AudioTrackImportHandler : public ElementImportHandler
class LIBARDOUR_API AudioTrackImportHandler : public ElementImportHandler
{
public:
AudioTrackImportHandler (XMLTree const & source, Session & session, AudioPlaylistImportHandler & pl_handler);
@ -46,7 +46,7 @@ class AudioTrackImportHandler : public ElementImportHandler
};
class AudioTrackImporter : public ElementImporter
class LIBARDOUR_API AudioTrackImporter : public ElementImporter
{
public:
AudioTrackImporter (XMLTree const & source,

View file

@ -41,14 +41,14 @@
class CAComponent;
class CAAudioUnit;
class CAComponentDescription;
struct AudioBufferList;
struct LIBARDOUR_API AudioBufferList;
namespace ARDOUR {
class AudioEngine;
class Session;
struct AUParameterDescriptor : public Plugin::ParameterDescriptor {
struct LIBARDOUR_API AUParameterDescriptor : public Plugin::ParameterDescriptor {
// additional fields to make operations more efficient
AudioUnitParameterID id;
AudioUnitScope scope;
@ -58,7 +58,7 @@ struct AUParameterDescriptor : public Plugin::ParameterDescriptor {
AudioUnitParameterUnit unit;
};
class AUPlugin : public ARDOUR::Plugin
class LIBARDOUR_API AUPlugin : public ARDOUR::Plugin
{
public:
AUPlugin (AudioEngine& engine, Session& session, boost::shared_ptr<CAComponent> comp);
@ -221,11 +221,11 @@ class AUPlugin : public ARDOUR::Plugin
typedef boost::shared_ptr<AUPlugin> AUPluginPtr;
struct AUPluginCachedInfo {
struct LIBARDOUR_API AUPluginCachedInfo {
std::vector<std::pair<int,int> > io_configs;
};
class AUPluginInfo : public PluginInfo {
class LIBARDOUR_API AUPluginInfo : public PluginInfo {
public:
AUPluginInfo (boost::shared_ptr<CAComponentDescription>);
~AUPluginInfo ();

View file

@ -26,6 +26,7 @@
#include <fstream>
#include <boost/utility.hpp>
#include "vamp-sdk/Plugin.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
namespace ARDOUR {
@ -33,7 +34,7 @@ namespace ARDOUR {
class Readable;
class Session;
class AudioAnalyser : public boost::noncopyable {
class LIBARDOUR_API AudioAnalyser : public boost::noncopyable {
public:
typedef Vamp::Plugin AnalysisPlugin;

View file

@ -39,6 +39,7 @@
#include "ardour/ardour.h"
#include "ardour/data_type.h"
#include "ardour/session_handle.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/chan_count.h"
#include "ardour/port_manager.h"
@ -59,7 +60,7 @@ class ProcessThread;
class AudioBackend;
class AudioBackendInfo;
class AudioEngine : public SessionHandlePtr, public PortManager
class LIBARDOUR_API AudioEngine : public SessionHandlePtr, public PortManager
{
public:

View file

@ -27,13 +27,15 @@
#include "taglib/toolkit/taglib.h"
#include "taglib/ogg/xiphcomment.h"
#include "ardour/libardour_visibility.h"
namespace ARDOUR
{
class SessionMetadata;
/// Class with static functions for tagging audiofiles
class AudiofileTagger
class LIBARDOUR_API AudiofileTagger
{
public:

View file

@ -27,7 +27,7 @@
namespace ARDOUR {
struct SoundFileInfo {
struct LIBARDOUR_API SoundFileInfo {
float samplerate;
uint16_t channels;
int64_t length;
@ -35,7 +35,7 @@ struct SoundFileInfo {
int64_t timecode;
};
class AudioFileSource : public AudioSource, public FileSource {
class LIBARDOUR_API AudioFileSource : public AudioSource, public FileSource {
public:
virtual ~AudioFileSource ();

View file

@ -31,10 +31,9 @@ namespace ARDOUR {
class Session;
class AudioRegion;
class Source;
class AudioPlaylist;
class AudioPlaylist : public ARDOUR::Playlist
class LIBARDOUR_API AudioPlaylist : public ARDOUR::Playlist
{
public:
AudioPlaylist (Session&, const XMLNode&, bool hidden = false);

View file

@ -40,17 +40,17 @@ class PlaylistReadTest;
namespace ARDOUR {
namespace Properties {
extern PBD::PropertyDescriptor<bool> envelope_active;
extern PBD::PropertyDescriptor<bool> default_fade_in;
extern PBD::PropertyDescriptor<bool> default_fade_out;
extern PBD::PropertyDescriptor<bool> fade_in_active;
extern PBD::PropertyDescriptor<bool> fade_out_active;
extern PBD::PropertyDescriptor<float> scale_amplitude;
extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > fade_in;
extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > inverse_fade_in;
extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > fade_out;
extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > inverse_fade_out;
extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > envelope;
LIBARDOUR_API extern PBD::PropertyDescriptor<bool> envelope_active;
LIBARDOUR_API extern PBD::PropertyDescriptor<bool> default_fade_in;
LIBARDOUR_API extern PBD::PropertyDescriptor<bool> default_fade_out;
LIBARDOUR_API extern PBD::PropertyDescriptor<bool> fade_in_active;
LIBARDOUR_API extern PBD::PropertyDescriptor<bool> fade_out_active;
LIBARDOUR_API extern PBD::PropertyDescriptor<float> scale_amplitude;
LIBARDOUR_API extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > fade_in;
LIBARDOUR_API extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > inverse_fade_in;
LIBARDOUR_API extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > fade_out;
LIBARDOUR_API extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > inverse_fade_out;
LIBARDOUR_API extern PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > envelope;
}
class Playlist;
@ -59,7 +59,7 @@ class Filter;
class AudioSource;
class AudioRegion : public Region
class LIBARDOUR_API AudioRegion : public Region
{
public:
static void make_property_quarks ();
@ -235,4 +235,12 @@ class AudioRegion : public Region
} /* namespace ARDOUR */
/* access from C objects */
extern "C" {
LIBARDOUR_API int region_read_peaks_from_c (void *arg, uint32_t npeaks, uint32_t start, uint32_t length, intptr_t data, uint32_t n_chan, double samples_per_unit);
LIBARDOUR_API uint32_t region_length_from_c (void *arg);
LIBARDOUR_API uint32_t sourcefile_length_from_c (void *arg, double);
}
#endif /* __ardour_audio_region_h__ */

View file

@ -38,7 +38,7 @@
namespace ARDOUR {
class AudioSource : virtual public Source,
class LIBARDOUR_API AudioSource : virtual public Source,
public ARDOUR::Readable,
public boost::enable_shared_from_this<ARDOUR::AudioSource>
{

View file

@ -33,7 +33,7 @@ class Session;
class AudioRegion;
class AudioPlaylist;
class Auditioner : public AudioTrack
class LIBARDOUR_API Auditioner : public AudioTrack
{
public:
Auditioner (Session&);

View file

@ -26,7 +26,7 @@
namespace ARDOUR {
class AutoBundle : public Bundle {
class LIBARDOUR_API AutoBundle : public Bundle {
public:
AutoBundle (bool i = true);

View file

@ -26,6 +26,7 @@
#include <boost/shared_ptr.hpp>
#include "pbd/signals.h"
#include "evoral/ControlSet.hpp"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
class XMLNode;
@ -38,7 +39,7 @@ class AutomationControl;
/* The inherited ControlSet is virtual because AutomatableSequence inherits
* from this AND EvoralSequence, which is also a ControlSet
*/
class Automatable : virtual public Evoral::ControlSet
class LIBARDOUR_API Automatable : virtual public Evoral::ControlSet
{
public:
Automatable(Session&);

View file

@ -27,7 +27,7 @@ namespace ARDOUR {
/** Contains notes and controllers */
template<typename T>
class AutomatableSequence : public Automatable, public Evoral::Sequence<T> {
class LIBARDOUR_API AutomatableSequence : public Automatable, public Evoral::Sequence<T> {
public:
AutomatableSequence(Session& s)
: Evoral::ControlSet()

View file

@ -26,6 +26,8 @@
#include "pbd/controllable.h"
#include "evoral/Control.hpp"
#include "ardour/libardour_visibility.h"
#include "ardour/automation_list.h"
namespace ARDOUR {
@ -36,7 +38,7 @@ class Automatable;
/** A PBD::Controllable with associated automation data (AutomationList)
*/
class AutomationControl : public PBD::Controllable, public Evoral::Control, public boost::enable_shared_from_this<AutomationControl>
class LIBARDOUR_API AutomationControl : public PBD::Controllable, public Evoral::Control, public boost::enable_shared_from_this<AutomationControl>
{
public:
AutomationControl(ARDOUR::Session&,

View file

@ -40,7 +40,7 @@ namespace ARDOUR {
class AutomationList;
/** A SharedStatefulProperty for AutomationLists */
class AutomationListProperty : public PBD::SharedStatefulProperty<AutomationList>
class LIBARDOUR_API AutomationListProperty : public PBD::SharedStatefulProperty<AutomationList>
{
public:
AutomationListProperty (PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > d, Ptr p)
@ -59,7 +59,7 @@ private:
AutomationListProperty& operator= (AutomationListProperty const &);
};
class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlList
class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Evoral::ControlList
{
public:
AutomationList (Evoral::Parameter id);

View file

@ -30,7 +30,7 @@ namespace ARDOUR {
class AutomationControl;
class AutomationWatch : public sigc::trackable, public ARDOUR::SessionHandlePtr, public PBD::ScopedConnectionList {
class LIBARDOUR_API AutomationWatch : public sigc::trackable, public ARDOUR::SessionHandlePtr, public PBD::ScopedConnectionList {
public:
static AutomationWatch& instance();

View file

@ -20,6 +20,7 @@
*/
#include "evoral/TimeConverter.hpp"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#ifndef __ardour_beats_frames_converter_h__
@ -33,7 +34,7 @@ class TempoMap;
* from some origin (supplied to the constructor in frames), and converts
* them to the opposite unit, taking tempo changes into account.
*/
class BeatsFramesConverter : public Evoral::TimeConverter<double,framepos_t> {
class LIBARDOUR_API BeatsFramesConverter : public Evoral::TimeConverter<double,framepos_t> {
public:
BeatsFramesConverter (TempoMap& tempo_map, framepos_t origin)
: Evoral::TimeConverter<double, framepos_t> (origin)

View file

@ -23,6 +23,7 @@
#include <string>
#include "ardour/libardour_visibility.h"
#include "audiographer/broadcast_info.h"
namespace ARDOUR
@ -30,7 +31,7 @@ namespace ARDOUR
class Session;
class BroadcastInfo : public AudioGrapher::BroadcastInfo
class LIBARDOUR_API BroadcastInfo : public AudioGrapher::BroadcastInfo
{
public:
BroadcastInfo ();

View file

@ -23,6 +23,7 @@
#include <boost/utility.hpp>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/data_type.h"
@ -38,7 +39,7 @@ namespace ARDOUR {
*
* To actually read/write buffer contents, use the appropriate derived class.
*/
class Buffer : public boost::noncopyable
class LIBARDOUR_API Buffer : public boost::noncopyable
{
public:
virtual ~Buffer() {}

View file

@ -32,7 +32,7 @@ namespace ARDOUR {
class ThreadBuffers;
class BufferManager
class LIBARDOUR_API BufferManager
{
public:
static void init (uint32_t);

View file

@ -27,6 +27,7 @@
#include <vector>
#include "ardour/chan_count.h"
#include "ardour/data_type.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#if defined VST_SUPPORT || defined LXVST_SUPPORT
@ -61,7 +62,7 @@ class PortSet;
* others the form of their output (eg what they did to the BufferSet).
* Setting the use counts is realtime safe.
*/
class BufferSet
class LIBARDOUR_API BufferSet
{
public:
BufferSet();

View file

@ -40,7 +40,7 @@ class AudioEngine;
* `Channel' is a rather overloaded term but I can't think of a better
* one right now.
*/
class Bundle : public PBD::ScopedConnectionList
class LIBARDOUR_API Bundle : public PBD::ScopedConnectionList
{
public:
@ -149,7 +149,7 @@ class Bundle : public PBD::ScopedConnectionList
Change _pending_change;
};
class BundleChannel
class LIBARDOUR_API BundleChannel
{
public:
BundleChannel () : channel (-1) {}

View file

@ -30,6 +30,7 @@
#include "pbd/ringbuffer.h"
#include "pbd/pool.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/session_handle.h"
@ -44,7 +45,7 @@ namespace ARDOUR {
* are empty they are deleted.
*/
class Butler : public SessionHandleRef
class LIBARDOUR_API Butler : public SessionHandleRef
{
public:
Butler (Session& session);

View file

@ -21,6 +21,7 @@
#define __ardour_ca_importable_source_h__
#include "pbd/failed_constructor.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/importable_source.h"
@ -28,7 +29,7 @@
namespace ARDOUR {
class CAImportableSource : public ImportableSource {
class LIBARDOUR_API CAImportableSource : public ImportableSource {
public:
CAImportableSource (const std::string& path);
virtual ~CAImportableSource();

View file

@ -24,7 +24,7 @@
namespace ARDOUR {
class CapturingProcessor : public Processor
class LIBARDOUR_API CapturingProcessor : public Processor
{
public:
CapturingProcessor (Session & session);

View file

@ -38,7 +38,7 @@ namespace ARDOUR {
* Operators are defined so this may safely be used as if it were a simple
* (single-typed) integer count of channels.
*/
class ChanCount {
class LIBARDOUR_API ChanCount {
public:
ChanCount(const XMLNode& node);
ChanCount() { reset(); }

View file

@ -34,7 +34,7 @@ namespace ARDOUR {
/** A mapping from one set of channels to another
* (e.g. how to 'connect' two BufferSets).
*/
class ChanMapping {
class LIBARDOUR_API ChanMapping {
public:
ChanMapping() {}
ChanMapping(ARDOUR::ChanCount identity);

View file

@ -23,12 +23,13 @@
#include <list>
#include "pbd/pool.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/io.h"
namespace ARDOUR {
class Click {
class LIBARDOUR_API Click {
public:
framepos_t start;
framecnt_t duration;
@ -49,7 +50,7 @@ private:
static Pool pool;
};
class ClickIO : public IO
class LIBARDOUR_API ClickIO : public IO
{
public:
ClickIO (Session& s, const std::string& name) : IO (s, name, IO::Output) {}

View file

@ -21,10 +21,12 @@
#ifndef __ardour_comparable_shared_ptr_h__
#define __ardour_comparable_shared_ptr_h__
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
template<typename T>
class ComparableSharedPtr : public boost::shared_ptr<T>
class LIBARDOUR_API ComparableSharedPtr : public boost::shared_ptr<T>
, public boost::less_than_comparable<ComparableSharedPtr<T> >
{
public:

View file

@ -29,7 +29,7 @@ class XMLNode;
namespace ARDOUR {
class Configuration : public PBD::Stateful
class LIBARDOUR_API Configuration : public PBD::Stateful
{
public:
Configuration();

View file

@ -25,12 +25,13 @@
#include "pbd/xml++.h"
#include "pbd/convert.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/utils.h"
namespace ARDOUR {
class ConfigVariableBase {
class LIBARDOUR_API ConfigVariableBase {
public:
ConfigVariableBase (std::string str) : _name (str) {}
@ -51,7 +52,7 @@ class ConfigVariableBase {
};
template<class T>
class ConfigVariable : public ConfigVariableBase
class LIBARDOUR_API ConfigVariable : public ConfigVariableBase
{
public:
@ -91,7 +92,7 @@ class ConfigVariable : public ConfigVariableBase
/** Specialisation of ConfigVariable for std::string to cope with whitespace properly */
template<>
class ConfigVariable<std::string> : public ConfigVariableBase
class LIBARDOUR_API ConfigVariable<std::string> : public ConfigVariableBase
{
public:
@ -126,7 +127,7 @@ class ConfigVariable<std::string> : public ConfigVariableBase
};
template<>
class ConfigVariable<bool> : public ConfigVariableBase
class LIBARDOUR_API ConfigVariable<bool> : public ConfigVariableBase
{
public:
@ -163,7 +164,7 @@ class ConfigVariable<bool> : public ConfigVariableBase
};
template<class T>
class ConfigVariableWithMutation : public ConfigVariable<T>
class LIBARDOUR_API ConfigVariableWithMutation : public ConfigVariable<T>
{
public:
ConfigVariableWithMutation (std::string name, T val, T (*m)(T))
@ -192,7 +193,7 @@ class ConfigVariableWithMutation : public ConfigVariable<T>
};
template<>
class ConfigVariableWithMutation<std::string> : public ConfigVariable<std::string>
class LIBARDOUR_API ConfigVariableWithMutation<std::string> : public ConfigVariable<std::string>
{
public:
ConfigVariableWithMutation (std::string name, std::string val, std::string (*m)(std::string))

View file

@ -35,7 +35,7 @@ class ControlProtocol;
class ControlProtocolDescriptor;
class Session;
class ControlProtocolInfo {
class LIBARDOUR_API ControlProtocolInfo {
public:
ControlProtocolDescriptor* descriptor;
ControlProtocol* protocol;
@ -52,7 +52,7 @@ public:
~ControlProtocolInfo() { delete state; }
};
class ControlProtocolManager : public PBD::Stateful, public ARDOUR::SessionHandlePtr
class LIBARDOUR_API ControlProtocolManager : public PBD::Stateful, public ARDOUR::SessionHandlePtr
{
public:
~ControlProtocolManager ();

View file

@ -28,7 +28,7 @@ using namespace std;
namespace ARDOUR {
class CoreAudioSource : public AudioFileSource {
class LIBARDOUR_API CoreAudioSource : public AudioFileSource {
public:
CoreAudioSource (ARDOUR::Session&, const XMLNode&);
CoreAudioSource (ARDOUR::Session&, const string& path, int chn, Flag);

View file

@ -24,12 +24,13 @@
#include <iostream>
#include <cstdlib>
#include "ardour/libardour_visibility.h"
#include "ardour/cycles.h"
#include "ardour/debug.h"
float get_mhz ();
class CycleTimer {
class LIBARDOUR_API CycleTimer {
private:
static float cycles_per_usec;
#ifndef NDEBUG
@ -61,7 +62,7 @@ class CycleTimer {
}
};
class StoringTimer
class LIBARDOUR_API StoringTimer
{
public:
StoringTimer (int);

View file

@ -24,6 +24,8 @@
#include <stdint.h>
#include <glib.h>
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
/** A type of Data Ardour is capable of processing.
@ -32,7 +34,7 @@ namespace ARDOUR {
* other type representations, simple comparison between then, etc. This code
* is deliberately 'ugly' so other code doesn't have to be.
*/
class DataType
class LIBARDOUR_API DataType
{
public:
/** Numeric symbol for this DataType.

View file

@ -24,47 +24,47 @@
#include <sstream>
#include "ardour/libardour_visibility.h"
#include "pbd/debug.h"
namespace PBD {
namespace DEBUG {
extern uint64_t MidiSourceIO;
extern uint64_t MidiPlaylistIO;
extern uint64_t MidiDiskstreamIO;
extern uint64_t SnapBBT;
extern uint64_t Configuration;
extern uint64_t Latency;
extern uint64_t Peaks;
extern uint64_t Processors;
extern uint64_t ProcessThreads;
extern uint64_t Graph;
extern uint64_t Destruction;
extern uint64_t MTC;
extern uint64_t LTC;
extern uint64_t Transport;
extern uint64_t Slave;
extern uint64_t SessionEvents;
extern uint64_t MidiIO;
extern uint64_t MackieControl;
extern uint64_t MidiClock;
extern uint64_t Monitor;
extern uint64_t Solo;
extern uint64_t AudioPlayback;
extern uint64_t Panning;
extern uint64_t LV2;
extern uint64_t CaptureAlignment;
extern uint64_t PluginManager;
extern uint64_t AudioUnits;
extern uint64_t ControlProtocols;
extern uint64_t CycleTimers;
extern uint64_t MidiTrackers;
extern uint64_t Layering;
extern uint64_t TempoMath;
extern uint64_t TempoMap;
extern uint64_t OrderKeys;
extern uint64_t Automation;
extern uint64_t WiimoteControl;
extern uint64_t Ports;
LIBARDOUR_API extern uint64_t MidiSourceIO;
LIBARDOUR_API extern uint64_t MidiPlaylistIO;
LIBARDOUR_API extern uint64_t MidiDiskstreamIO;
LIBARDOUR_API extern uint64_t SnapBBT;
LIBARDOUR_API extern uint64_t Configuration;
LIBARDOUR_API extern uint64_t Latency;
LIBARDOUR_API extern uint64_t Processors;
LIBARDOUR_API extern uint64_t ProcessThreads;
LIBARDOUR_API extern uint64_t Graph;
LIBARDOUR_API extern uint64_t Destruction;
LIBARDOUR_API extern uint64_t MTC;
LIBARDOUR_API extern uint64_t LTC;
LIBARDOUR_API extern uint64_t Transport;
LIBARDOUR_API extern uint64_t Slave;
LIBARDOUR_API extern uint64_t SessionEvents;
LIBARDOUR_API extern uint64_t MidiIO;
LIBARDOUR_API extern uint64_t MackieControl;
LIBARDOUR_API extern uint64_t MidiClock;
LIBARDOUR_API extern uint64_t Monitor;
LIBARDOUR_API extern uint64_t Solo;
LIBARDOUR_API extern uint64_t AudioPlayback;
LIBARDOUR_API extern uint64_t Panning;
LIBARDOUR_API extern uint64_t LV2;
LIBARDOUR_API extern uint64_t CaptureAlignment;
LIBARDOUR_API extern uint64_t PluginManager;
LIBARDOUR_API extern uint64_t AudioUnits;
LIBARDOUR_API extern uint64_t ControlProtocols;
LIBARDOUR_API extern uint64_t CycleTimers;
LIBARDOUR_API extern uint64_t MidiTrackers;
LIBARDOUR_API extern uint64_t Layering;
LIBARDOUR_API extern uint64_t TempoMath;
LIBARDOUR_API extern uint64_t TempoMap;
LIBARDOUR_API extern uint64_t OrderKeys;
LIBARDOUR_API extern uint64_t Automation;
LIBARDOUR_API extern uint64_t WiimoteControl;
LIBARDOUR_API extern uint64_t Ports;
}
}

View file

@ -21,6 +21,7 @@
#include <string>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/chan_count.h"
#include "ardour/io_processor.h"
@ -34,7 +35,7 @@ class PannerShell;
class Panner;
class Pannable;
class Delivery : public IOProcessor
class LIBARDOUR_API Delivery : public IOProcessor
{
public:
enum Role {

View file

@ -21,25 +21,26 @@
#ifndef __ardour_directory_names_h__
#define __ardour_directory_names_h__
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
extern const char* const old_sound_dir_name;
extern const char* const sound_dir_name;
extern const char* const midi_dir_name;
extern const char* const midi_patch_dir_name;
extern const char* const video_dir_name;
extern const char* const dead_dir_name;
extern const char* const interchange_dir_name;
extern const char* const peak_dir_name;
extern const char* const export_dir_name;
extern const char* const export_formats_dir_name;
extern const char* const templates_dir_name;
extern const char* const route_templates_dir_name;
extern const char* const surfaces_dir_name;
extern const char* const ladspa_dir_name;
extern const char* const user_config_dir_name;
extern const char* const panner_dir_name;
extern const char* const backend_dir_name;
LIBARDOUR_API extern const char* const old_sound_dir_name;
LIBARDOUR_API extern const char* const sound_dir_name;
LIBARDOUR_API extern const char* const midi_dir_name;
LIBARDOUR_API extern const char* const midi_patch_dir_name;
LIBARDOUR_API extern const char* const video_dir_name;
LIBARDOUR_API extern const char* const dead_dir_name;
LIBARDOUR_API extern const char* const interchange_dir_name;
LIBARDOUR_API extern const char* const peak_dir_name;
LIBARDOUR_API extern const char* const export_dir_name;
LIBARDOUR_API extern const char* const export_formats_dir_name;
LIBARDOUR_API extern const char* const templates_dir_name;
LIBARDOUR_API extern const char* const route_templates_dir_name;
LIBARDOUR_API extern const char* const surfaces_dir_name;
LIBARDOUR_API extern const char* const user_config_dir_name;
LIBARDOUR_API extern const char* const panner_dir_name;
LIBARDOUR_API extern const char* const backend_dir_name;
};

View file

@ -34,6 +34,7 @@
#include "ardour/ardour.h"
#include "ardour/chan_count.h"
#include "ardour/session_object.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/utils.h"
#include "ardour/public_diskstream.h"
@ -54,7 +55,7 @@ class BufferSet;
/** Parent class for classes which can stream data to and from disk.
* These are used by Tracks to get playback and put recorded data.
*/
class Diskstream : public SessionObject, public PublicDiskstream
class LIBARDOUR_API Diskstream : public SessionObject, public PublicDiskstream
{
public:
enum Flag {

View file

@ -27,6 +27,9 @@
#include <boost/shared_ptr.hpp>
#include "ardour/libardour_visibility.h"
#include "pbd/libpbd_visibility.h"
class XMLTree;
namespace ARDOUR {
@ -35,7 +38,7 @@ class Session;
class ElementImporter;
/// Virtual interface class for element import handlers
class ElementImportHandler
class LIBARDOUR_API ElementImportHandler
{
public:
typedef boost::shared_ptr<ElementImporter> ElementPtr;

View file

@ -25,6 +25,7 @@
#include <utility>
#include "pbd/signals.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
class XMLTree;
@ -34,7 +35,7 @@ class Session;
class ImportStatus;
/// Virtual interface class for element importers
class ElementImporter
class LIBARDOUR_API ElementImporter
{
public:

View file

@ -25,12 +25,14 @@
#include "evoral/TypeMap.hpp"
#include "evoral/ControlList.hpp"
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
/** This is the interface Ardour provides to Evoral about what
* parameter and event types/ranges/names etc. to use.
*/
class EventTypeMap : public Evoral::TypeMap {
class LIBARDOUR_API EventTypeMap : public Evoral::TypeMap {
public:
bool type_is_midi(uint32_t type) const;
uint8_t parameter_midi_type(const Evoral::Parameter& param) const;

View file

@ -40,7 +40,7 @@ class AudioRegion;
class CapturingProcessor;
/// Export channel base class interface for different source types
class ExportChannel : public boost::less_than_comparable<ExportChannel>
class LIBARDOUR_API ExportChannel : public boost::less_than_comparable<ExportChannel>
{
public:
@ -62,7 +62,7 @@ class ExportChannel : public boost::less_than_comparable<ExportChannel>
};
/// Basic export channel that reads from AudioPorts
class PortExportChannel : public ExportChannel
class LIBARDOUR_API PortExportChannel : public ExportChannel
{
public:
typedef std::set<boost::weak_ptr<AudioPort> > PortSet;
@ -89,7 +89,7 @@ class PortExportChannel : public ExportChannel
/// Handles RegionExportChannels and does actual reading from region
class RegionExportChannelFactory
class LIBARDOUR_API RegionExportChannelFactory
{
public:
enum Type {
@ -128,7 +128,7 @@ class RegionExportChannelFactory
};
/// Export channel that reads from region channel
class RegionExportChannel : public ExportChannel
class LIBARDOUR_API RegionExportChannel : public ExportChannel
{
friend class RegionExportChannelFactory;
@ -152,7 +152,7 @@ class RegionExportChannel : public ExportChannel
};
/// Export channel for exporting from different positions in a route
class RouteExportChannel : public ExportChannel
class LIBARDOUR_API RouteExportChannel : public ExportChannel
{
class ProcessorRemover; // fwd declaration

View file

@ -37,7 +37,7 @@ namespace ARDOUR
class Session;
class ExportChannelConfiguration : public boost::enable_shared_from_this<ExportChannelConfiguration>
class LIBARDOUR_API ExportChannelConfiguration : public boost::enable_shared_from_this<ExportChannelConfiguration>
{
private:

View file

@ -24,10 +24,12 @@
#include <exception>
#include <string>
#include "ardour/libardour_visibility.h"
namespace ARDOUR
{
class ExportFailed : public std::exception
class LIBARDOUR_API ExportFailed : public std::exception
{
public:
ExportFailed (std::string const &);

View file

@ -34,7 +34,7 @@ namespace ARDOUR
class Session;
class ExportFilename {
class LIBARDOUR_API ExportFilename {
public:
enum DateFormat {

View file

@ -30,6 +30,7 @@
#include <samplerate.h>
#include "pbd/signals.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "audiographer/general/sample_format_converter.h"
@ -37,7 +38,7 @@
namespace ARDOUR
{
class ExportFormatBase {
class LIBARDOUR_API ExportFormatBase {
public:
enum Type {

View file

@ -28,7 +28,7 @@ namespace ARDOUR
{
/// Allows adding to all sets. A format should be able to test if it is compatible with this
class ExportFormatCompatibility : public ExportFormatBase, public ExportFormatBase::SelectableCompatible {
class LIBARDOUR_API ExportFormatCompatibility : public ExportFormatBase, public ExportFormatBase::SelectableCompatible {
private:
public:

View file

@ -39,7 +39,7 @@ class ExportFormatCompatibility;
class ExportFormatSpecification;
class AnyTime;
class ExportFormatManager : public PBD::ScopedConnectionList
class LIBARDOUR_API ExportFormatManager : public PBD::ScopedConnectionList
{
public:

View file

@ -25,6 +25,7 @@
#include "pbd/uuid.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/export_format_base.h"
@ -37,7 +38,7 @@ class ExportFormat;
class ExportFormatCompatibility;
class Session;
class ExportFormatSpecification : public ExportFormatBase {
class LIBARDOUR_API ExportFormatSpecification : public ExportFormatBase {
private:

View file

@ -33,13 +33,13 @@
namespace ARDOUR
{
class ExportFormatIncompatible : public failed_constructor {
class LIBARDOUR_API ExportFormatIncompatible : public failed_constructor {
public:
virtual const char *what() const throw() { return "Export format constructor failed: Format incompatible with system"; }
};
/// Base class for formats
class ExportFormat : public ExportFormatBase, public ExportFormatBase::SelectableCompatible {
class LIBARDOUR_API ExportFormat : public ExportFormatBase, public ExportFormatBase::SelectableCompatible {
public:
ExportFormat () {};
@ -86,7 +86,7 @@ class ExportFormat : public ExportFormatBase, public ExportFormatBase::Selectabl
};
/// Class to be inherited by export formats that have a selectable sample format
class HasSampleFormat : public PBD::ScopedConnectionList {
class LIBARDOUR_API HasSampleFormat : public PBD::ScopedConnectionList {
public:
class SampleFormatState : public ExportFormatBase::SelectableCompatible {
@ -156,7 +156,7 @@ class HasSampleFormat : public PBD::ScopedConnectionList {
ExportFormatBase::SampleFormatSet & _sample_formats;
};
class ExportFormatLinear : public ExportFormat, public HasSampleFormat {
class LIBARDOUR_API ExportFormatLinear : public ExportFormat, public HasSampleFormat {
public:
ExportFormatLinear (std::string name, FormatId format_id);
@ -174,7 +174,7 @@ class ExportFormatLinear : public ExportFormat, public HasSampleFormat {
SampleFormat _default_sample_format;
};
class ExportFormatOggVorbis : public ExportFormat {
class LIBARDOUR_API ExportFormatOggVorbis : public ExportFormat {
public:
ExportFormatOggVorbis ();
~ExportFormatOggVorbis () {};
@ -185,7 +185,7 @@ class ExportFormatOggVorbis : public ExportFormat {
virtual bool supports_tagging () const { return true; }
};
class ExportFormatFLAC : public ExportFormat, public HasSampleFormat {
class LIBARDOUR_API ExportFormatFLAC : public ExportFormat, public HasSampleFormat {
public:
ExportFormatFLAC ();
~ExportFormatFLAC () {};
@ -198,7 +198,7 @@ class ExportFormatFLAC : public ExportFormat, public HasSampleFormat {
virtual bool supports_tagging () const { return true; }
};
class ExportFormatBWF : public ExportFormat, public HasSampleFormat {
class LIBARDOUR_API ExportFormatBWF : public ExportFormat, public HasSampleFormat {
public:
ExportFormatBWF ();
~ExportFormatBWF () {};

View file

@ -48,7 +48,7 @@ namespace ARDOUR
class ExportTimespan;
class Session;
class ExportGraphBuilder
class LIBARDOUR_API ExportGraphBuilder
{
private:
typedef ExportHandler::FileSpec FileSpec;

View file

@ -29,6 +29,7 @@
#include "ardour/export_pointers.h"
#include "ardour/session.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
namespace AudioGrapher {
@ -45,7 +46,7 @@ class ExportFilename;
class ExportGraphBuilder;
class Location;
class ExportElementFactory
class LIBARDOUR_API ExportElementFactory
{
public:
@ -67,7 +68,7 @@ class ExportElementFactory
Session & session;
};
class ExportHandler : public ExportElementFactory
class LIBARDOUR_API ExportHandler : public ExportElementFactory
{
public:
struct FileSpec {

View file

@ -25,6 +25,7 @@
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include "ardour/libardour_visibility.h"
#include "ardour/comparable_shared_ptr.h"
namespace AudioGrapher {

View file

@ -26,12 +26,14 @@
#include "pbd/uuid.h"
#include "pbd/xml++.h"
#include "ardour/libardour_visibility.h"
namespace ARDOUR
{
class Session;
class ExportPreset {
class LIBARDOUR_API ExportPreset {
public:
ExportPreset (std::string filename, Session & s);
~ExportPreset ();

View file

@ -35,6 +35,7 @@
#include "ardour/filesystem_paths.h"
#include "ardour/location.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/export_handler.h"
@ -46,7 +47,7 @@ class Location;
class Session;
/// Manages (de)serialization of export profiles and related classes
class ExportProfileManager
class LIBARDOUR_API ExportProfileManager
{
public:

View file

@ -23,6 +23,7 @@
#include <stdint.h>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "pbd/signals.h"
@ -30,7 +31,7 @@
namespace ARDOUR
{
class ExportStatus {
class LIBARDOUR_API ExportStatus {
public:
ExportStatus ();
void init ();

View file

@ -25,6 +25,7 @@
#include <boost/shared_ptr.hpp>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
namespace ARDOUR
@ -34,7 +35,7 @@ class ExportStatus;
class ExportChannel;
class ExportTempFile;
class ExportTimespan
class LIBARDOUR_API ExportTimespan
{
private:
typedef boost::shared_ptr<ExportStatus> ExportStatusPtr;

View file

@ -28,7 +28,7 @@
namespace ARDOUR {
class MissingSource : public std::exception
class LIBARDOUR_API MissingSource : public std::exception
{
public:
MissingSource (const std::string& p, DataType t) throw ()
@ -42,7 +42,7 @@ class MissingSource : public std::exception
};
/** A source associated with a file on disk somewhere */
class FileSource : virtual public Source {
class LIBARDOUR_API FileSource : virtual public Source {
public:
virtual ~FileSource () {}

View file

@ -21,17 +21,19 @@
#ifndef __ardour_filename_extensions_h__
#define __ardour_filename_extensions_h__
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
extern const char* const template_suffix;
extern const char* const statefile_suffix;
extern const char* const pending_suffix;
extern const char* const peakfile_suffix;
extern const char* const backup_suffix;
extern const char* const temp_suffix;
extern const char* const history_suffix;
extern const char* const export_preset_suffix;
extern const char* const export_format_suffix;
LIBARDOUR_API extern const char* const template_suffix;
LIBARDOUR_API extern const char* const statefile_suffix;
LIBARDOUR_API extern const char* const pending_suffix;
LIBARDOUR_API extern const char* const peakfile_suffix;
LIBARDOUR_API extern const char* const backup_suffix;
LIBARDOUR_API extern const char* const temp_suffix;
LIBARDOUR_API extern const char* const history_suffix;
LIBARDOUR_API extern const char* const export_preset_suffix;
LIBARDOUR_API extern const char* const export_format_suffix;
}

View file

@ -22,6 +22,8 @@
#include "pbd/search_path.h"
#include "ardour/libardour_visibility.h"
namespace ARDOUR {
/**
@ -29,26 +31,26 @@ namespace ARDOUR {
* configuration files.
* @post user_config_directory() exists
*/
std::string user_config_directory ();
LIBARDOUR_API std::string user_config_directory ();
/**
* @return the path to the directory that contains the system wide ardour
* modules.
*/
std::string ardour_dll_directory ();
LIBARDOUR_API std::string ardour_dll_directory ();
/**
* @return the search path to be used when looking for per-system
* configuration files. This may include user configuration files.
*/
PBD::Searchpath ardour_config_search_path ();
LIBARDOUR_API PBD::SearchPath ardour_config_search_path ();
/**
* @return the search path to be used when looking for data files
* that could be shared by systems (h/w and configuration independent
* files, such as icons, XML files, etc)
*/
PBD::Searchpath ardour_data_search_path ();
LIBARDOUR_API PBD::SearchPath ardour_data_search_path ();
} // namespace ARDOUR

View file

@ -23,6 +23,7 @@
#include <vector>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
namespace ARDOUR {
@ -31,7 +32,7 @@ class Region;
class Session;
class Progress;
class Filter {
class LIBARDOUR_API Filter {
public:
virtual ~Filter() {}

View file

@ -33,6 +33,7 @@
#include "pbd/semutils.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/audio_backend.h"
#include "ardour/session_handle.h"
@ -52,7 +53,7 @@ typedef boost::shared_ptr<GraphNode> node_ptr_t;
typedef std::list< node_ptr_t > node_list_t;
typedef std::set< node_ptr_t > node_set_t;
class Graph : public SessionHandleRef
class LIBARDOUR_API Graph : public SessionHandleRef
{
public:
Graph (Session & session);

View file

@ -38,7 +38,7 @@ typedef std::set< node_ptr_t > node_set_t;
typedef std::list< node_ptr_t > node_list_t;
/** A node on our processing graph, ie a Route */
class GraphNode
class LIBARDOUR_API GraphNode
{
public:
GraphNode( boost::shared_ptr<Graph> Graph );

View file

@ -20,8 +20,9 @@
#ifndef __IEC1PPMDSP_H
#define __IEC1PPMDSP_H
#include "ardour/libardour_visibility.h"
class Iec1ppmdsp
class LIBARDOUR_API Iec1ppmdsp
{
public:

View file

@ -20,8 +20,9 @@
#ifndef __IEC2PPMDSP_H
#define __IEC2PPMDSP_H
#include "ardour/libardour_visibility.h"
class Iec2ppmdsp
class LIBARDOUR_API Iec2ppmdsp
{
public:

View file

@ -26,11 +26,12 @@
#include <stdint.h>
#include "ardour/interthread_info.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
namespace ARDOUR {
class ImportStatus : public InterThreadInfo {
class LIBARDOUR_API ImportStatus : public InterThreadInfo {
public:
std::string doing_what;

View file

@ -21,11 +21,12 @@
#define __ardour_importable_source_h__
#include "pbd/failed_constructor.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
namespace ARDOUR {
class ImportableSource {
class LIBARDOUR_API ImportableSource {
public:
ImportableSource () {}
virtual ~ImportableSource() {}

View file

@ -28,19 +28,22 @@
#include "evoral/Parameter.hpp"
#include "midi++/libmidi_visibility.h"
#include "ardour/libardour_visibility.h"
namespace MIDI {
namespace Name {
class ChannelNameSet;
class Patch;
typedef std::list<boost::shared_ptr<Patch> > PatchNameList;
}
namespace Name {
class ChannelNameSet;
class Patch;
typedef std::list<boost::shared_ptr<Patch> > PatchNameList;
}
}
namespace ARDOUR {
class Processor;
class InstrumentInfo {
class LIBARDOUR_API InstrumentInfo {
public:
InstrumentInfo();
~InstrumentInfo ();

View file

@ -29,7 +29,7 @@ namespace ARDOUR {
class InternalSend;
class InternalReturn : public Return
class LIBARDOUR_API InternalReturn : public Return
{
public:
InternalReturn (Session&);

View file

@ -25,7 +25,7 @@
namespace ARDOUR {
class InternalSend : public Send
class LIBARDOUR_API InternalSend : public Send
{
public:
InternalSend (Session&, boost::shared_ptr<Pannable>, boost::shared_ptr<MuteMaster>, boost::shared_ptr<Route> send_to, Delivery::Role role);

View file

@ -20,6 +20,7 @@
#include <math.h>
#include <samplerate.h>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#ifndef __interpolation_h__
@ -27,7 +28,7 @@
namespace ARDOUR {
class Interpolation {
class LIBARDOUR_API Interpolation {
protected:
double _speed;
double _target_speed;
@ -57,12 +58,12 @@ public:
}
};
class LinearInterpolation : public Interpolation {
class LIBARDOUR_API LinearInterpolation : public Interpolation {
public:
framecnt_t interpolate (int channel, framecnt_t nframes, Sample* input, Sample* output);
};
class CubicInterpolation : public Interpolation {
class LIBARDOUR_API CubicInterpolation : public Interpolation {
public:
framecnt_t interpolate (int channel, framecnt_t nframes, Sample* input, Sample* output);
};

View file

@ -22,6 +22,7 @@
#include <pthread.h>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/process_thread.h"

View file

@ -40,6 +40,7 @@
#include "ardour/latent.h"
#include "ardour/port_set.h"
#include "ardour/session_object.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/utils.h"
#include "ardour/buffer_set.h"
@ -64,7 +65,7 @@ class UserBundle;
* An IO can contain ports of varying types, making routes/inserts/etc with
* varied combinations of types (eg MIDI and audio) possible.
*/
class IO : public SessionObject, public Latent
class LIBARDOUR_API IO : public SessionObject, public Latent
{
public:
static const std::string state_node_name;

View file

@ -40,7 +40,7 @@ class Route;
/** A mixer strip element (Processor) with 1 or 2 IO elements.
*/
class IOProcessor : public Processor
class LIBARDOUR_API IOProcessor : public Processor
{
public:
IOProcessor (Session&, bool with_input, bool with_output,

View file

@ -20,7 +20,9 @@
#ifndef __KMETERDSP_H
#define __KMETERDSP_H
class Kmeterdsp
#include "ardour/libardour_visibility.h"
class LIBARDOUR_API Kmeterdsp
{
public:

View file

@ -36,7 +36,7 @@ namespace ARDOUR {
class AudioEngine;
class Session;
class LadspaPlugin : public ARDOUR::Plugin
class LIBARDOUR_API LadspaPlugin : public ARDOUR::Plugin
{
public:
LadspaPlugin (std::string module_path, ARDOUR::AudioEngine&, ARDOUR::Session&, uint32_t index, framecnt_t sample_rate);
@ -147,7 +147,7 @@ class LadspaPlugin : public ARDOUR::Plugin
void add_state (XMLNode *) const;
};
class LadspaPluginInfo : public PluginInfo {
class LIBARDOUR_API LadspaPluginInfo : public PluginInfo {
public:
LadspaPluginInfo ();
~LadspaPluginInfo () { };

View file

@ -20,11 +20,12 @@
#ifndef __ardour_latent_h__
#define __ardour_latent_h__
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
namespace ARDOUR {
class Latent {
class LIBARDOUR_API Latent {
public:
Latent() : _user_latency (0) {}
virtual ~Latent() {}

View file

@ -0,0 +1,56 @@
/*
Copyright (C) 2013 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 __libardour_libardour_visibility_h__
#define __libardour_libardour_visibility_h__
/* _WIN32 is defined by most compilers targetting Windows, but within the
* ardour 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)
#define LIBARDOUR_DLL_IMPORT __declspec(dllimport)
#define LIBARDOUR_DLL_EXPORT __declspec(dllexport)
#define LIBARDOUR_DLL_LOCAL
#else
#if __GNUC__ >= 4
#define LIBARDOUR_DLL_IMPORT __attribute__ ((visibility ("default")))
#define LIBARDOUR_DLL_EXPORT __attribute__ ((visibility ("default")))
#define LIBARDOUR_DLL_LOCAL __attribute__ ((visibility ("hidden")))
#else
#define LIBARDOUR_DLL_IMPORT
#define LIBARDOUR_DLL_EXPORT
#define LIBARDOUR_DLL_LOCAL
#endif
#endif
#ifdef LIBARDOUR_DLL // libardour is a DLL
#ifdef LIBARDOUR_DLL_EXPORTS // defined if we are building the libardour DLL (instead of using it)
#define LIBARDOUR_API LIBARDOUR_DLL_EXPORT
#else
#define LIBARDOUR_API LIBARDOUR_DLL_IMPORT
#endif
#define LIBARDOUR_LOCAL LIBARDOUR_DLL_LOCAL
#else /* static lib, not DLL */
#define LIBARDOUR_API
#define LIBARDOUR_LOCAL
#endif
#endif /* __libardour_libardour_visibility_h__ */

View file

@ -25,44 +25,46 @@
#include <pthread.h>
#include <stdio.h>
#include "ardour/libardour_visibility.h"
#include "ardour/vst_types.h"
/******************************************************************************************/
/*VSTFX - an engine to manage native linux VST plugins - derived from FST for Windows VSTs*/
/******************************************************************************************/
extern void (*vstfx_error_callback)(const char *msg);
LIBARDOUR_API extern void (*vstfx_error_callback)(const char *msg);
void vstfx_set_error_function (void (*func)(const char *));
LIBARDOUR_API void vstfx_set_error_function (void (*func)(const char *));
void vstfx_error (const char *fmt, ...);
LIBARDOUR_API void vstfx_error (const char *fmt, ...);
/*API to vstfx*/
extern int vstfx_launch_editor (VSTState *);
extern int vstfx_init (void *);
extern void vstfx_exit ();
extern VSTHandle * vstfx_load (const char*);
extern int vstfx_unload (VSTHandle *);
extern VSTState * vstfx_instantiate (VSTHandle *, audioMasterCallback, void *);
extern void vstfx_close (VSTState*);
LIBARDOUR_API extern int vstfx_launch_editor (VSTState *);
LIBARDOUR_API extern int vstfx_init (void *);
LIBARDOUR_API extern void vstfx_exit ();
LIBARDOUR_API extern VSTHandle * vstfx_load (const char*);
LIBARDOUR_API extern int vstfx_unload (VSTHandle *);
extern int vstfx_create_editor (VSTState *);
extern int vstfx_run_editor (VSTState *);
extern void vstfx_destroy_editor (VSTState *);
LIBARDOUR_API extern VSTState * vstfx_instantiate (VSTHandle *, audioMasterCallback, void *);
LIBARDOUR_API extern void vstfx_close (VSTState*);
extern VSTInfo * vstfx_get_info (char *);
extern void vstfx_free_info (VSTInfo *);
extern void vstfx_event_loop_remove_plugin (VSTState *);
extern int vstfx_call_dispatcher (VSTState *, int, int, int, void *, float);
LIBARDOUR_API extern int vstfx_create_editor (VSTState *);
LIBARDOUR_API extern int vstfx_run_editor (VSTState *);
LIBARDOUR_API extern void vstfx_destroy_editor (VSTState *);
LIBARDOUR_API extern VSTInfo * vstfx_get_info (char *);
LIBARDOUR_API extern void vstfx_free_info (VSTInfo *);
LIBARDOUR_API extern void vstfx_event_loop_remove_plugin (VSTState *);
LIBARDOUR_API extern int vstfx_call_dispatcher (VSTState *, int, int, int, void *, float);
/** Load a plugin state from a file.**/
extern int vstfx_load_state (VSTState* vstfx, char * filename);
LIBARDOUR_API extern int vstfx_load_state (VSTState* vstfx, char * filename);
/** Save a plugin state to a file.**/
extern bool vstfx_save_state (VSTState* vstfx, char * filename);
LIBARDOUR_API extern bool vstfx_save_state (VSTState* vstfx, char * filename);
#endif /* __vstfx_h__ */

View file

@ -38,7 +38,7 @@
namespace ARDOUR {
class Location : public SessionHandleRef, public PBD::StatefulDestructible
class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDestructible
{
public:
enum Flags {
@ -131,7 +131,7 @@ class Location : public SessionHandleRef, public PBD::StatefulDestructible
void recompute_bbt_from_frames ();
};
class Locations : public SessionHandleRef, public PBD::StatefulDestructible
class LIBARDOUR_API Locations : public SessionHandleRef, public PBD::StatefulDestructible
{
public:
typedef std::list<Location *> LocationList;

View file

@ -33,14 +33,14 @@ namespace ARDOUR {
class Location;
class Session;
class LocationImportHandler : public ElementImportHandler
class LIBARDOUR_API LocationImportHandler : public ElementImportHandler
{
public:
LocationImportHandler (XMLTree const & source, Session & session);
std::string get_info () const;
};
class LocationImporter : public ElementImporter
class LIBARDOUR_API LocationImporter : public ElementImporter
{
public:
LocationImporter (XMLTree const & source, Session & session, LocationImportHandler & handler, XMLNode const & node);

View file

@ -25,7 +25,7 @@
namespace ARDOUR {
class LogCurve {
class LIBARDOUR_API LogCurve {
public:
LogCurve (float steepness = 0.2, uint32_t len = 0) {
l = len;
@ -102,7 +102,7 @@ class LogCurve {
uint32_t l;
};
class LogCurveIn : public LogCurve
class LIBARDOUR_API LogCurveIn : public LogCurve
{
public:
LogCurveIn (float steepness = 0.2, uint32_t len = 0)
@ -117,7 +117,7 @@ class LogCurveIn : public LogCurve
}
};
class LogCurveOut : public LogCurve
class LIBARDOUR_API LogCurveOut : public LogCurve
{
public:
LogCurveOut (float steepness = 0.2, uint32_t len = 0)

View file

@ -43,7 +43,7 @@ const void* lv2plugin_get_port_value(const char* port_symbol,
class AudioEngine;
class Session;
class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
{
public:
LV2Plugin (ARDOUR::AudioEngine& engine,
@ -272,7 +272,7 @@ class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
};
class LV2PluginInfo : public PluginInfo {
class LIBARDOUR_API LV2PluginInfo : public PluginInfo {
public:
LV2PluginInfo (const void* c_plugin);
~LV2PluginInfo ();

View file

@ -30,7 +30,7 @@ namespace ARDOUR {
class AudioEngine;
class Session;
class LXVSTPlugin : public VSTPlugin
class LIBARDOUR_API LXVSTPlugin : public VSTPlugin
{
public:
LXVSTPlugin (AudioEngine &, Session &, VSTHandle *);
@ -40,7 +40,7 @@ class LXVSTPlugin : public VSTPlugin
std::string state_node_name () const { return "lxvst"; }
};
class LXVSTPluginInfo : public PluginInfo
class LIBARDOUR_API LXVSTPluginInfo : public PluginInfo
{
public:
LXVSTPluginInfo ();

View file

@ -20,6 +20,7 @@
#define __ardour_meter_h__
#include <vector>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/processor.h"
#include "pbd/fastlog.h"
@ -35,7 +36,7 @@ class BufferSet;
class ChanCount;
class Session;
class Metering {
class LIBARDOUR_API Metering {
public:
static void update_meters ();
static PBD::Signal0<void> Meter;
@ -47,7 +48,7 @@ class Metering {
/** Meters peaks on the input and stores them for access.
*/
class PeakMeter : public Processor {
class LIBARDOUR_API PeakMeter : public Processor {
public:
PeakMeter(Session& s, const std::string& name);
~PeakMeter();

Some files were not shown because too many files have changed in this diff Show more