Commit graph

611 commits

Author SHA1 Message Date
Paul Davis
960a47330a switch from JACK_Slave to Engine_Slave 2013-09-19 17:34:23 -04:00
nick_m
914ba475de actually load new state after creating a session. 2013-09-18 02:02:31 +10:00
Paul Davis
fb45fdc052 fix conflicts and merge with master 2013-09-16 22:11:06 -04:00
Paul Davis
39ee88b3f9 more session construction order changes, and removal of n_physical_{inputs,outputs} members which were (a) not initialized early enough (b) not used anywhere except monitor bus connection.
Things almost make sense now.
2013-09-16 12:08:19 -04:00
Paul Davis
910755b51b fix missing initialization of two Session members, which fixes a crash during quit-without-finished-session 2013-09-16 10:23:37 -04:00
Paul Davis
31157cb343 fix ordering in session construction so that new sessions and existing ones both work 2013-09-16 09:57:22 -04:00
Paul Davis
4861eca974 Merge branch 'master' into windows 2013-09-13 11:55:56 -04:00
Paul Davis
28d692b490 don't stop metering thread when session is removed; move engine-setup code into its own method. sorry, ardour build-from-source folk :) 2013-09-12 17:25:01 -04:00
Paul Davis
7c88670680 lots of changes to auto-start (and stop) the backend for latency measurements, and continuing work on the session construction/engine configuration flow 2013-09-12 16:28:51 -04:00
Paul Davis
6b3907d57f change names, add comment, improve return type to avoid extra call to get EngineControl::State* 2013-09-12 12:26:59 -04:00
Paul Davis
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
Paul Davis
f85b362351 *maybe* fix issues with zombification during session loading 2013-09-11 16:33:40 -04:00
Paul Davis
7c719e441a fix handling of new session
defer save state till after everything done in post_engine_init() is complete.
2013-09-11 09:59:56 -04:00
Paul Davis
209e4bdcae many changes relating to session construction and audioengine interaction
every session member is now initialized using C++ constructor syntax

session construction reordered to clarify the split(s) between work
where the engine is not relevant and work where is it is. this
split is still not 100% obvious, but is enormously clearer than
previously.

if engine/backend are not running as session is created, and the SR
of the sample rate is known, attempt to force backend to that value.
2013-09-10 15:41:19 -04:00
Paul Davis
19d05fa436 start reordering of Session initialization
the goal is to allow a clear demarcation of where we need
the audioengine and have existing data parameters (e.g. sample rate)
for the session so that we can coerce the engine (if possible)
to match to session values.

also, to rationalize construction even more and use C++
constructor syntax as much as possible.
2013-09-09 22:40:54 -04:00
Paul Davis
56465fda10 move engine dialog from a widget to an actual dialog; emit Session::AudioEngineSetupRequired when loading a session if it is necessary 2013-09-09 15:17:42 -04:00
Tim Mayberry
8ddd12a60d Rename SearchPath class Searchpath
Windows headers define SearchPath which means we have to undefine it
where necessary. This is a pain and can be tricksy, so I feel renaming
the class slightly is the easiest solution.
2013-09-06 14:31:11 +10:00
Paul Davis
1c49138e00 move MidiPortManager from AudioEngine to Session
This makes the responsibilities and ownership of non-Route related MIDI ports
more clear, and removes a few wierd bits of code. It also ensures that open/close/open
on the same session will retain connections for those MIDI ports
2013-09-05 13:22:34 -04:00
Paul Davis
ca76496ef3 more purging of JACK as an explicit name from libardour 2013-08-09 13:56:23 -04:00
Paul Davis
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
Paul Davis
616f2a0370 fix conflicts after merge with master 2013-08-05 14:22:32 -04:00
Paul Davis
682ebad62b full compilation and linking (coding not finished, will not run) 2013-08-01 14:43:12 -04:00
Paul Davis
6a436fd826 fix merge conflict from master 2013-07-31 20:11:15 -04:00
Robin Gareus
4dc74ae2ea use zeroed scratch buffers for "silent" plugin runs
Plugins rewrite the buffer data in-place and some plugins
can produce output even when fed with silence.

Hence, during a PluginInsert::silence() run a plugin can
inject data into the "silent" buffers which causes side-effects.

Kudos to Chris 'oofus' Goddard for finding this issue.
2013-08-01 00:35:24 +02:00
Robin Gareus
00f26394a9 use dedicated buffers for route (and track)
"scratch buffers are by definition scratch and their contents are undefined at all times"
"silent buffers are by definition all-zero and should not be used for real data"

But track & route were using those for actual data; plugins (which may run
in the same thread and may get the same buffers) use them for scratch thereby
overwriting real data.

In particular get_silent_buffers() (used by LadspaPlugin::connect_and_run)
clears the buffer which can holds real data:
e.g. via  Route::passthru_silence() -> plugin1 -> plugin2 (clears output of plugin1)
2013-07-30 16:55:33 +02:00
Paul Davis
20b1a7d9d8 most of libardour now actually compiles 2013-07-25 12:36:54 -04:00
Paul Davis
43f7813b24 Fix portability of Session::source_search_path 2013-07-15 08:05:37 -04:00
Robin Gareus
0571e5d6ae Revert "show track-ID in mixer" and "...towards unique track numbers."
This reverts commits:
  ca54ea2b462869bfd9254a493d073ca1e9ad4b8e.
  9e87e058e26b87013e89ddf5d3b7358d50024d60.
2013-07-10 15:27:17 +02:00
Robin Gareus
24f2961cce ...towards unique track numbers. 2013-07-10 15:27:14 +02:00
jdekozak
ae74d66eb7 initialize ltc_enc_buf to 0 to fix crash in ltc_tx_cleanup at startup 2013-05-17 08:03:55 +02:00
Robin Gareus
90a4d01662 Revert "option to ignore feedback detection - /i know what i'm doing/ mode."
This reverts commit e17f75b351.
2013-04-15 16:02:57 +02:00
Robin Gareus
e17f75b351 option to ignore feedback detection - /i know what i'm doing/ mode.
This currently only has effect if the loop connection is
made/unmade while the option was set/unset.
Toggling the option itself won't trigger a graph re-order
2013-04-15 15:50:08 +02:00
Paul Davis
cd6cbba299 rename Route::is_hidden() to Route::is_auditioner() and Route::Hidden to Route::Auditioner. this has been the meaning of these terms for years now and it would be better to make it explicit 2013-04-06 16:04:02 -04:00
Paul Davis
2da10afb64 fix #5424: routes created from templates do not get names based on the user-supplied text from the add route dialog 2013-04-01 20:45:57 -04:00
Roy Vegard Ovesen
81a343ff7f Make sure every imported file is copied to the session path 2013-03-31 03:59:10 +02:00
Paul Davis
b691d4bf04 fix up some confusion with filesources' _origin and _file_is_new members. if _origin is set, it means that the file is "external" to the session (aka "embedded") and for some purposes this is more significant than _file_is_new. rename SourceFactory::createReadable() to ::createExternal() to more clearly indicate its purpose; remove never-supplied "origin" argument from SourceFactor::createWritable(). Fixes problems caused by 864ce8f0 2013-03-30 14:02:26 -04:00
Paul Davis
91ff55bd89 make notice about mismatched session/ardour versions more prominent, since you can guarantee that people are going to do this after release
git-svn-id: svn://localhost/ardour2/branches/3.0@14138 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-04 21:57:29 +00:00
Paul Davis
63376189ad tweak for const correctness on apple
git-svn-id: svn://localhost/ardour2/branches/3.0@13956 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 19:42:34 +00:00
Paul Davis
ccdcb135fa remove some debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@13846 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 15:12:40 +00:00
Paul Davis
09e519b715 better error msg about autoloop location
git-svn-id: svn://localhost/ardour2/branches/3.0@13842 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 14:15:01 +00:00
Colin Fletcher
6ed562f182 A few more typo fixes in libardour.
git-svn-id: svn://localhost/ardour2/branches/3.0@13813 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-09 15:05:04 +00:00
Paul Davis
c9c94ca1c2 merge robin gareus' libltc into ardour source tree for convenience
git-svn-id: svn://localhost/ardour2/branches/3.0@13665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-14 16:18:47 +00:00
Paul Davis
341cbfbd19 reinstate the windows way for GUIIdle's but limit the scope of the connection to just the time when a long-running action is active (for now, just adding > 8 routes)
git-svn-id: svn://localhost/ardour2/branches/3.0@13654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 13:44:11 +00:00
Paul Davis
37c7d0cbc1 because sometimes there are good reasons for not doing things the way a windows programmer would
git-svn-id: svn://localhost/ardour2/branches/3.0@13652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 20:03:41 +00:00
Paul Davis
75f3005c67 sometimes, you just have to do what a windows programmer would do. add a global signal, ARDOUR::GUIIdle() which can be used in the middle of long-running backend operations to give the GUI a chance to update. use it while adding routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@13650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 18:59:47 +00:00
Paul Davis
e8f610f375 Session should disconnect from all signals during its destruction, early
git-svn-id: svn://localhost/ardour2/branches/3.0@13601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-05 16:07:30 +00:00
Paul Davis
89d1a2fdf5 dramatically speed up the addition of large numbers of busses + tracks. consists of a backend part (ignore JACK graph/latency callbacks while we're adding tracks) and a GUI side (avoid O(N^N) behaviour while adding each new time axis view)
git-svn-id: svn://localhost/ardour2/branches/3.0@13595 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-04 14:32:28 +00:00
Paul Davis
f0247ebe6a add more DEBUG::Solo output ; fix assignment of remote control ID's from XML (#5079)
git-svn-id: svn://localhost/ardour2/branches/3.0@13542 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-21 19:56:55 +00:00
Paul Davis
c7a36486af remove unused Automatable::automation_interval and related code
git-svn-id: svn://localhost/ardour2/branches/3.0@13534 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19 22:03:50 +00:00
Paul Davis
8b3d0f04c1 tweak config param for automation sampling interval, set to 500msec by default, and expose in prefs dialog
git-svn-id: svn://localhost/ardour2/branches/3.0@13533 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19 21:31:44 +00:00