Robin Gareus 5fa9f8b399 Towards fixing no_roll()
Currently ::roll() may actually be a ::no_roll() under some circumstances.

This can also happen during count-in:
  transport_stopped () == transport_rolling()

and during latency-preroll:
   Global session-transport speed != 0, some tracks already roll,
   read data from disk and feed latent plugins.
   but other non-latent tracks or busses don't roll and still have to
   behave like the switch from no_roll() to roll() has not yet happened.

This changes the game WRT to monitoring as well, previously, Route:roll()
called Route::no_roll_unlocked () for conditions outlined above.
Now Track::no_roll_unlocked is called and in some cases wrongly clears
the buffers before the signal hits the disk-writer. (more work is needed
related to 61f8e53b)

On the upside this also fixes an issue with MidiTrack::no_roll not keeping
a lock while pushing data into the step-edit-ringbuffer.

This is also a step towards consolidating all entry points:
::roll(), ::no_roll(), ::silent_roll() in the Route class.
2017-09-30 16:45:45 +02:00
2017-09-30 16:45:45 +02:00
2017-05-12 15:28:32 -07:00
2017-09-27 20:03:08 +02:00
2017-08-23 23:55:00 +02:00
2016-06-25 00:44:04 +02:00
2017-09-29 21:05:39 +02:00
2009-11-09 14:13:59 +00:00
2016-10-18 22:26:23 +02:00
2013-03-13 14:35:39 -04:00
2017-01-05 09:21:12 +00:00
2016-02-28 21:48:49 +01:00

Please see the Ardour web site at http://ardour.org/ for all documentation..

For information on building ardour: 
      
     http://ardour.org/development.html
Description
No description provided
Readme 202 MiB
Languages
C++ 56.5%
C 39.6%
JavaScript 1.3%
Lua 0.9%
Python 0.6%
Other 0.9%