merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.

Still need to add API export/visibility macros for the canvas library.
This commit is contained in:
Paul Davis 2013-12-27 14:29:06 -05:00
commit b0e4f81eb3
426 changed files with 2059 additions and 1259 deletions

View File

@ -68,7 +68,6 @@ ARDOUR_UI::set_session (Session *s)
{
SessionHandlePtr::set_session (s);
if (!_session) {
WM::Manager::instance().set_session (s);
/* Session option editor cannot exist across change-of-session */
@ -198,9 +197,15 @@ ARDOUR_UI::set_session (Session *s)
editor_meter_peak_display.hide();
}
if (_session
&& _session->master_out()
&& _session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
if (meter_box.get_parent()) {
transport_tearoff_hbox.remove (meter_box);
transport_tearoff_hbox.remove (editor_meter_peak_display);
}
if (_session &&
_session->master_out() &&
_session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
editor_meter = new LevelMeterHBox(_session);
editor_meter->set_meter (_session->master_out()->shared_peak_meter().get());
editor_meter->clear_meters();
@ -228,7 +233,7 @@ ARDOUR_UI::set_session (Session *s)
meter_box.show();
editor_meter_peak_display.show();
}
}
}
}
int

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 re.search ("linux", sys.platform) != None:
@ -410,12 +411,17 @@ def build(bld):
'libcanvas',
]
# continue with setup of obj, which could be a shared library
# or an executable.
obj.defines = [
'PACKAGE="' + I18N_PACKAGE + '"',
'VERSIONSTRING="' + bld.env['VERSION'] + '"',
'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
'PROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'
]
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL'
obj.uselib += ' GTKMM GNOMECANVASMM GNOMECANVAS FFTW3F'
obj.uselib += ' GTKMM CANVAS FFTW3F'
obj.uselib += ' AUDIOUNITS OSX GTKOSX LO '
if bld.is_defined('USE_EXTERNAL_LIBS'):
@ -425,14 +431,6 @@ def build(bld):
if sys.platform == 'darwin':
obj.uselib += ' AUDIOUNITS OSX GTKOSX'
obj.use += ' libappleutility'
obj.defines = [
'PACKAGE="' + I18N_PACKAGE + '"',
'VERSIONSTRING="' + bld.env['VERSION'] + '"',
'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
'PROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'
]
obj.includes += ['../libs']
if bld.is_defined('HAVE_SUIL'):

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,21 +28,21 @@
#include <boost/function.hpp>
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/audioengine.h"
#include "ardour/port_engine.h"
#include "ardour/visibility.h"
#ifdef ARDOURBACKEND_DLL_EXPORTS // defined if we are building the ARDOUR Panners DLLs (instead of using them)
#define ARDOURBACKEND_API LIBARDOUR_HELPER_DLL_EXPORT
#define ARDOURBACKEND_API LIBARDOUR_DLL_EXPORT
#else
#define ARDOURBACKEND_API LIBARDOUR_HELPER_DLL_IMPORT
#define ARDOURBACKEND_API LIBARDOUR_DLL_IMPORT
#endif
#define ARDOURBACKEND_LOCAL LIBARDOUR_HELPER_DLL_LOCAL
#define ARDOURBACKEND_LOCAL LIBARDOUR_DLL_LOCAL
namespace ARDOUR {
class AudioBackend : public PortEngine {
class LIBARDOUR_API AudioBackend : public PortEngine {
public:
AudioBackend (AudioEngine& e) : PortEngine (e), engine (e) {}
@ -491,7 +491,7 @@ class AudioBackend : public PortEngine {
virtual int _start (bool for_latency_measurement) = 0;
};
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

@ -25,7 +25,8 @@
#include <ostream>
#include <fstream>
#include <boost/utility.hpp>
#include <vamp-sdk/Plugin.h>
#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/taglib.h>
#include <taglib/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

@ -32,10 +32,9 @@ class Session;
class Region;
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

@ -24,6 +24,7 @@
#include "pbd/ringbuffer.h"
#include "pbd/pool.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/session_handle.h"
@ -36,7 +37,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

@ -34,7 +34,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
@ -63,7 +64,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,46 +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 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,24 +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 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 (void *module, ARDOUR::AudioEngine&, ARDOUR::Session&, uint32_t index, framecnt_t sample_rate);
@ -146,7 +146,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,45 @@
/*
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__
#if defined(COMPILER_MSVC)
#define LIBARDOUR_DLL_IMPORT __declspec(dllimport)
#define LIBARDOUR_DLL_EXPORT __declspec(dllexport)
#define LIBARDOUR_DLL_LOCAL
#else
#define LIBARDOUR_DLL_IMPORT __attribute__ ((visibility ("default")))
#define LIBARDOUR_DLL_EXPORT __attribute__ ((visibility ("default")))
#define LIBARDOUR_DLL_LOCAL __attribute__ ((visibility ("hidden")))
#endif
#ifdef LIBARDOUR_STATIC // libardour is not a DLL
#define LIBARDOUR_API
#define LIBARDOUR_LOCAL
#else
#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
#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

@ -41,7 +41,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,
@ -270,7 +270,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 ();

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