Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
#ifdef WAF_BUILD
#include "libardour-config.h"
#endif
#include <fst.h>
#endif
+#ifdef LXVST_SUPPORT
+#include "ardour/vstfx.h"
+#endif
+
#ifdef HAVE_AUDIOUNITS
#include "ardour/audio_unit.h"
#endif
#include "ardour/audiosource.h"
#include "ardour/buffer_manager.h"
#include "ardour/control_protocol_manager.h"
+#include "ardour/dB.h"
#include "ardour/debug.h"
#include "ardour/filesystem_paths.h"
+#include "ardour/midi_region.h"
#include "ardour/mix.h"
#include "ardour/audioplaylist.h"
+#include "ardour/panner_manager.h"
#include "ardour/plugin_manager.h"
#include "ardour/process_thread.h"
#include "ardour/profile.h"
*/
PBD::PropertyChange ARDOUR::bounds_change;
-namespace ARDOUR {
+namespace ARDOUR {
namespace Properties {
/* the envelope and fades are not scalar items and so
currently (2010/02) are not stored using Property.
However, these descriptors enable us to notify
- about changes to them via PropertyChange.
+ about changes to them via PropertyChange.
Declared in ardour/audioregion.h ...
*/
compute_peak = x86_sse_compute_peak;
find_peaks = x86_sse_find_peaks;
apply_gain_to_buffer = x86_sse_apply_gain_to_buffer;
- mix_buffers_with_gain = x86_sse_mix_buffers_with_gain;
+ // mix_buffers_with_gain = x86_sse_mix_buffers_with_gain;
+ mix_buffers_with_gain = default_mix_buffers_with_gain;
mix_buffers_no_gain = x86_sse_mix_buffers_no_gain;
generic_mix_functions = false;
info << "No H/W specific optimizations in use" << endmsg;
}
-
+
AudioGrapher::Routines::override_compute_peak (compute_peak);
AudioGrapher::Routines::override_apply_gain_to_buffer (apply_gain_to_buffer);
}
PBD::ID::init ();
SessionEvent::init_event_pool ();
-
+
make_property_quarks ();
SessionObject::make_property_quarks ();
Region::make_property_quarks ();
+ MidiRegion::make_property_quarks ();
AudioRegion::make_property_quarks ();
RouteGroup::make_property_quarks ();
Playlist::make_property_quarks ();
if (Config->load_state ()) {
return -1;
}
-
+
Config->set_use_vst (use_vst);
+#ifdef LXVST_SUPPORT
+ Config->set_use_lxvst(true);
+#endif
Profile = new RuntimeProfile;
}
#endif
+#ifdef LXVST_SUPPORT
+ if (Config->get_use_lxvst() && vstfx_init (0)) {
+ return -1;
+ }
+#endif
+
#ifdef HAVE_AUDIOUNITS
AUPluginInfo::load_cached_info ();
#endif
ProcessThread::init ();
BufferManager::init (10); // XX should be num_processors_for_dsp
+ PannerManager::instance().discover_panners();
+
+ // Initialize parameter metadata
+ EventTypeMap::instance().new_parameter(NullAutomation);
+ EventTypeMap::instance().new_parameter(GainAutomation);
+ EventTypeMap::instance().new_parameter(PanAzimuthAutomation);
+ EventTypeMap::instance().new_parameter(PanElevationAutomation);
+ EventTypeMap::instance().new_parameter(PanWidthAutomation);
+ EventTypeMap::instance().new_parameter(PluginAutomation);
+ EventTypeMap::instance().new_parameter(SoloAutomation);
+ EventTypeMap::instance().new_parameter(MuteAutomation);
+ EventTypeMap::instance().new_parameter(MidiCCAutomation);
+ EventTypeMap::instance().new_parameter(MidiPgmChangeAutomation);
+ EventTypeMap::instance().new_parameter(MidiPitchBenderAutomation);
+ EventTypeMap::instance().new_parameter(MidiChannelPressureAutomation);
+ EventTypeMap::instance().new_parameter(FadeInAutomation);
+ EventTypeMap::instance().new_parameter(FadeOutAutomation);
+ EventTypeMap::instance().new_parameter(EnvelopeAutomation);
+ EventTypeMap::instance().new_parameter(MidiCCAutomation);
+
return 0;
}
if ((node = Config->control_protocol_state()) != 0) {
ControlProtocolManager::instance().set_state (*node, Stateful::loading_state_version);
}
-
- MIDI::Manager::instance()->set_port_states (Config->midi_port_states ());
}
int
#ifdef VST_SUPPORT
fst_exit ();
#endif
- return 0;
-}
-string
-ARDOUR::get_ardour_revision ()
-{
- return "$Rev$";
+#ifdef LXVST_SUPPOR
+ vstfx_exit();
+#endif
+ return 0;
}
void