diff options
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/debug.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/directory_names.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/session_event.h | 4 | ||||
-rw-r--r-- | libs/ardour/audio_buffer.cc | 2 | ||||
-rw-r--r-- | libs/ardour/audio_diskstream.cc | 2 | ||||
-rw-r--r-- | libs/ardour/io.cc | 2 | ||||
-rw-r--r-- | libs/ardour/mtc_slave.cc | 6 | ||||
-rw-r--r-- | libs/ardour/panner_search_path.cc | 7 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 9 | ||||
-rw-r--r-- | libs/ardour/test/audio_engine_test.cc | 53 | ||||
-rw-r--r-- | libs/ardour/test/audio_engine_test.h | 14 | ||||
-rw-r--r-- | libs/ardour/wscript | 5 |
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 |