summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/debug.h1
-rw-r--r--libs/ardour/ardour/directory_names.h1
-rw-r--r--libs/ardour/ardour/session_event.h4
-rw-r--r--libs/ardour/audio_buffer.cc2
-rw-r--r--libs/ardour/audio_diskstream.cc2
-rw-r--r--libs/ardour/io.cc2
-rw-r--r--libs/ardour/mtc_slave.cc6
-rw-r--r--libs/ardour/panner_search_path.cc7
-rw-r--r--libs/ardour/session_state.cc9
-rw-r--r--libs/ardour/test/audio_engine_test.cc53
-rw-r--r--libs/ardour/test/audio_engine_test.h14
-rw-r--r--libs/ardour/wscript5
12 files changed, 80 insertions, 26 deletions
diff --git a/libs/ardour/ardour/debug.h b/libs/ardour/ardour/debug.h
index c26710b620..d5d81b8772 100644
--- a/libs/ardour/ardour/debug.h
+++ b/libs/ardour/ardour/debug.h
@@ -35,6 +35,7 @@ namespace PBD {
LIBARDOUR_API extern uint64_t SnapBBT;
LIBARDOUR_API extern uint64_t Configuration;
LIBARDOUR_API extern uint64_t Latency;
+ LIBARDOUR_API extern uint64_t Peaks;
LIBARDOUR_API extern uint64_t Processors;
LIBARDOUR_API extern uint64_t ProcessThreads;
LIBARDOUR_API extern uint64_t Graph;
diff --git a/libs/ardour/ardour/directory_names.h b/libs/ardour/ardour/directory_names.h
index 9eb2254219..db5d770739 100644
--- a/libs/ardour/ardour/directory_names.h
+++ b/libs/ardour/ardour/directory_names.h
@@ -27,6 +27,7 @@ namespace ARDOUR {
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 ladspa_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;
diff --git a/libs/ardour/ardour/session_event.h b/libs/ardour/ardour/session_event.h
index d4102a62ef..1283f32004 100644
--- a/libs/ardour/ardour/session_event.h
+++ b/libs/ardour/ardour/session_event.h
@@ -109,7 +109,7 @@ public:
boost::shared_ptr<Region> region;
- SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
+ SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
: type (t)
, action (a)
, action_frame (when)
@@ -151,7 +151,7 @@ private:
friend class Butler;
};
-class LIBARDOUR_API SessionEventManager {
+class SessionEventManager {
public:
SessionEventManager () : pending_events (2048),
auto_loop_event(0), punch_out_event(0), punch_in_event(0) {}
diff --git a/libs/ardour/audio_buffer.cc b/libs/ardour/audio_buffer.cc
index b4e2a55ac2..aa4f64755a 100644
--- a/libs/ardour/audio_buffer.cc
+++ b/libs/ardour/audio_buffer.cc
@@ -88,7 +88,7 @@ AudioBuffer::check_silence (pframes_t nframes, bool wholebuffer, pframes_t& n) c
void
AudioBuffer::silence (framecnt_t len, framecnt_t offset) {
- pframes_t n = 0;
+
if (!_silent) {
assert(_capacity > 0);
assert(offset + len <= _capacity);
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc
index f4d10c2043..dd2dcf324e 100644
--- a/libs/ardour/audio_diskstream.cc
+++ b/libs/ardour/audio_diskstream.cc
@@ -1789,7 +1789,7 @@ AudioDiskstream::get_state ()
LocaleGuard lg (X_("POSIX"));
boost::shared_ptr<ChannelList> c = channels.reader();
- snprintf (buf, sizeof(buf), "%zd", c->size());
+ snprintf (buf, sizeof(buf), "%u", (unsigned int) c->size());
node.add_property ("channels", buf);
if (!capturing_sources.empty() && _session.get_record_enabled()) {
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index ebd295411e..2cc213f797 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -1414,7 +1414,7 @@ IO::find_port_hole (const char* base)
std::vector<char> buf (AudioEngine::instance()->port_name_size());
PortSet::iterator i = _ports.begin();
- snprintf (&buf[0], jack_port_name_size(), _("%s %u"), base, n);
+ snprintf (&buf[0], buf.size()+1, _("%s %u"), base, n);
for ( ; i != _ports.end(); ++i) {
if (string(i->name()) == string(&buf[0])) {
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc
index 0dee2a071b..1a1c5f2bec 100644
--- a/libs/ardour/mtc_slave.cc
+++ b/libs/ardour/mtc_slave.cc
@@ -309,11 +309,7 @@ MTC_Slave::update_mtc_time (const MIDI::byte *msg, bool was_full, framepos_t now
to use a timestamp indicating when this MTC time was received. example: when we received
a locate command via MMC.
*/
-#ifdef COMPILER_MSVC
- DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC::update_mtc_time - TID:%1\n", ::pthread_self().p));
-#else
- DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC::update_mtc_time - TID:%1\n", ::pthread_self()));
-#endif
+ DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC::update_mtc_time - TID:%1\n", pthread_name()));
TimecodeFormat tc_format;
bool reset_tc = true;
diff --git a/libs/ardour/panner_search_path.cc b/libs/ardour/panner_search_path.cc
index 2889063ca4..c400aa6c3b 100644
--- a/libs/ardour/panner_search_path.cc
+++ b/libs/ardour/panner_search_path.cc
@@ -35,14 +35,11 @@ Searchpath
panner_search_path ()
{
Searchpath spath(user_config_directory ());
+
spath += ardour_dll_directory ();
spath.add_subdirectory_to_paths(panner_dir_name);
-<<<<<<< HEAD
- spath += SearchPath(Glib::getenv(panner_env_variable_name));
-=======
-
spath += Searchpath(Glib::getenv(panner_env_variable_name));
->>>>>>> windows+cc
+
return spath;
}
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index bbd3432205..5c3ffae3cc 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -136,14 +136,7 @@ Session::pre_engine_init (string fullpath)
/* discover canonical fullpath */
- char buf[PATH_MAX+1];
- if (!realpath (fullpath.c_str(), buf) && (errno != ENOENT)) {
- error << string_compose(_("Could not use path %1 (%2)"), buf, strerror(errno)) << endmsg;
- destroy ();
- throw failed_constructor();
- }
-
- _path = string(buf);
+ _path = canonical_path(fullpath);
/* we require _path to end with a dir separator */
diff --git a/libs/ardour/test/audio_engine_test.cc b/libs/ardour/test/audio_engine_test.cc
new file mode 100644
index 0000000000..b992caf73e
--- /dev/null
+++ b/libs/ardour/test/audio_engine_test.cc
@@ -0,0 +1,53 @@
+#include <iostream>
+
+#include "ardour/audioengine.h"
+#include "ardour/audio_backend.h"
+#include "ardour/backend_search_path.h"
+
+#include "audio_engine_test.h"
+#include "test_common.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION (AudioEngineTest);
+
+using namespace std;
+using namespace ARDOUR;
+using namespace PBD;
+
+void
+print_audio_backend_info (AudioBackendInfo const* abi)
+{
+ cerr << "Audio Backend, name:" << abi->name << endl;
+}
+
+void
+AudioEngineTest::test_backends ()
+{
+ AudioEngine* engine = AudioEngine::create ();
+
+ CPPUNIT_ASSERT (engine);
+
+ std::vector<AudioBackendInfo const *> backends = engine->available_backends ();
+
+ CPPUNIT_ASSERT (backends.size () != 0);
+
+ for (std::vector<AudioBackendInfo const *>::const_iterator i = backends.begin();
+ i != backends.end(); ++i) {
+ print_audio_backend_info(*i);
+ }
+}
+
+void
+AudioEngineTest::test_start ()
+{
+ AudioEngine* engine = AudioEngine::create ();
+
+ CPPUNIT_ASSERT_NO_THROW (engine->set_default_backend ());
+
+ init_post_engine ();
+
+ CPPUNIT_ASSERT (engine->start () == 0);
+
+ // sleep
+ // stop
+ // destroy
+}
diff --git a/libs/ardour/test/audio_engine_test.h b/libs/ardour/test/audio_engine_test.h
new file mode 100644
index 0000000000..9a6d9cc241
--- /dev/null
+++ b/libs/ardour/test/audio_engine_test.h
@@ -0,0 +1,14 @@
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+
+class AudioEngineTest : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE (AudioEngineTest);
+ CPPUNIT_TEST (test_backends);
+ CPPUNIT_TEST (test_start);
+ CPPUNIT_TEST_SUITE_END ();
+
+public:
+ void test_backends ();
+ void test_start ();
+};
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 21f745e20b..29efde2693 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -259,9 +259,6 @@ def configure(conf):
autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP',
atleast_version='2.0')
- if re.search ("linux", sys.platform) != None:
- autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
-
if Options.options.lv2:
autowaf.check_pkg(conf, 'lv2', uselib_store='LV2',
atleast_version='1.0.0', mandatory=True)
@@ -445,6 +442,7 @@ def build(bld):
testcommon.source += [ 'sse_functions_64bit.s' ]
if bld.env['SINGLE_TESTS']:
+ create_ardour_test_program(bld, obj.includes, 'audio_engine_test', 'test_audio_engine', ['test/audio_engine_test.cc'])
create_ardour_test_program(bld, obj.includes, 'automation_list_property_test', 'test_automation_list_property', ['test/automation_list_property_test.cc'])
create_ardour_test_program(bld, obj.includes, 'bbt', 'test_bbt', ['test/bbt_test.cc'])
create_ardour_test_program(bld, obj.includes, 'tempo', 'test_tempo', ['test/tempo_test.cc'])
@@ -463,6 +461,7 @@ def build(bld):
create_ardour_test_program(bld, obj.includes, 'session_test', 'test_session', ['test/session_test.cc'])
test_sources = '''
+ test/audio_engine_test.cc
test/automation_list_property_test.cc
test/bbt_test.cc
test/tempo_test.cc