13
0
Commit Graph

9689 Commits

Author SHA1 Message Date
1b6d9aa430 fix x-fades (part one)
The data from the lower layer(s) was not faded out because
the reversed gain curve was incorrect because ControlList:add()
inserts anchor points.

a call to reverse_curve() for a linear fade produced:
 INPUT: [when,val]  {[0.0, 0.0], [300.0, 1.0]}
 OUTPUT: (reversed) {[0.0, 0.0], [0.0, 1.0], [1.0, 0,0], [300.0, 0.0]}

solution: use fast_simple_add() instead.

git-svn-id: svn://localhost/ardour2/branches/3.0@13572 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 15:51:08 +00:00
8a819a80d0 add reverse iterator to event list (prepare x-fade fix)
git-svn-id: svn://localhost/ardour2/branches/3.0@13571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 15:51:05 +00:00
Ben Loftis
f77763020b edit operations should depend on the existence of an explicit range, NOT the mouse mode. this produces less confusion to the user. For an edit (such as delete) the selection should be based on this priority: explicit range selection, ojbect (region) selection, and then implicit range ( i.e. mouse-to-marker)
git-svn-id: svn://localhost/ardour2/branches/3.0@13563 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28 17:07:35 +00:00
Ben Loftis
613021bff1 tweak Auto Play behavior: dont auto-play a range selection if the auto-play option is on; but note that this is still possible if both auto-play and follow-edits is on
git-svn-id: svn://localhost/ardour2/branches/3.0@13562 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28 17:03:39 +00:00
8cbd5a8bec fix initial display of BBT ruler, i believe
git-svn-id: svn://localhost/ardour2/branches/3.0@13560 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28 00:18:10 +00:00
b286b45ea8 adjust the way we use a pair of iterators into the tempo map so that the iterators are always local to the scope where they are used, which fixes at least one tempo-map related crash; also fix correct setting of join-object-range parameter, where the property wasn't actually used
git-svn-id: svn://localhost/ardour2/branches/3.0@13559 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27 22:48:59 +00:00
3755d8876c add shift-f to default bindings for Follow Edits toggle
git-svn-id: svn://localhost/ardour2/branches/3.0@13558 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27 18:45:50 +00:00
Ben Loftis
f23490bd37 mousehweel zoom should always operate like ZoomFocusMouse
git-svn-id: svn://localhost/ardour2/branches/3.0@13557 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27 17:04:42 +00:00
99766494f8 a couple of extra tooltips for editor preferences
git-svn-id: svn://localhost/ardour2/branches/3.0@13555 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27 14:47:59 +00:00
12fadcc43e try another fix for the crash created by rev 13547
git-svn-id: svn://localhost/ardour2/branches/3.0@13554 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27 13:21:21 +00:00
c36b0e661d avoid crash caused by referencing non-existent route in mixer strip button name setting
git-svn-id: svn://localhost/ardour2/branches/3.0@13553 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27 13:07:43 +00:00
Ben Loftis
62c8963170 region selections and moves should have optional preroll when playhead follows edits
git-svn-id: svn://localhost/ardour2/branches/3.0@13552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 23:07:21 +00:00
Ben Loftis
e63da83c53 tweak Smart Mode to be more like Mixbus. Smart mode is just a modifier on Object mode which provides Range selection in the top half of the waveform. probably lots of corner cases to clear up before its all over, but at least we can use Mixbus as a consistent target rather than making it all up again.
git-svn-id: svn://localhost/ardour2/branches/3.0@13551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:43:10 +00:00
Ben Loftis
f9d1faa634 slightly tweak mute buttons for more contrast with white text
git-svn-id: svn://localhost/ardour2/branches/3.0@13550 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:38:25 +00:00
Ben Loftis
b43875dd27 explicitly enforce selection rules to avoid some corner cases and avoid user confusion
git-svn-id: svn://localhost/ardour2/branches/3.0@13549 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:37:34 +00:00
Ben Loftis
feec5f9ad1 desensitize Follow Edits button if sync is external
git-svn-id: svn://localhost/ardour2/branches/3.0@13548 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:35:57 +00:00
14f11a9e63 some tweaks to make narrow mixer strips actually narrow
git-svn-id: svn://localhost/ardour2/branches/3.0@13547 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:05:45 +00:00
c175baf9dd from the depths of thorwil's dumpster diving comes a fix incorrect solo behaviour in 2.X sessions loaded into 3.0 because master/monitor/auditioner routes are not told to ignore solo state; remove unnecessary error message
git-svn-id: svn://localhost/ardour2/branches/3.0@13543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-21 23:16:02 +00:00
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
0b55529ec4 tweak display of remote control id (dialog text)
git-svn-id: svn://localhost/ardour2/branches/3.0@13541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-21 19:54:52 +00:00
fa3e223c8f add warning dialog if user tries to use audio+MIDI tracks
git-svn-id: svn://localhost/ardour2/branches/3.0@13540 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-21 17:14:05 +00:00
7d95e5de9e fix double escape in r13530
git-svn-id: svn://localhost/ardour2/branches/3.0@13538 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-20 21:17:03 +00:00
Ben Loftis
beb3ec2d7a Always Play Range is now Follow Edits, and is based on Mixbus implementation. Added menu item. Follow Edits button replaces Auto Play; removed the connector between play and play-range. Some Smart Mode changes came along for the ride but will be cleaned up shortly
git-svn-id: svn://localhost/ardour2/branches/3.0@13537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-20 19:43:43 +00:00
38c10a4d23 make range ruler visible by default - costs a few mm, saves confusion among new users
git-svn-id: svn://localhost/ardour2/branches/3.0@13536 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-20 14:03:09 +00:00
3dd47e6e92 reset default automation interval to 30msec
git-svn-id: svn://localhost/ardour2/branches/3.0@13535 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19 22:16:45 +00:00
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
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
eb1382bd9a minor tweaks
git-svn-id: svn://localhost/ardour2/branches/3.0@13532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19 18:18:09 +00:00
0e2396cd78 markup-escape track/playlist titles in tooltips.
git-svn-id: svn://localhost/ardour2/branches/3.0@13530 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19 16:18:03 +00:00
b73d9b585f fix prev commit (stupid C++ needs explicit typecast)
git-svn-id: svn://localhost/ardour2/branches/3.0@13529 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:48:29 +00:00
ba7f951919 prevent subveclen to wrap at 2^31
fixes http://pastebin.com/X629ZE7F (Timecode 22h @48k, 512fpp)

git-svn-id: svn://localhost/ardour2/branches/3.0@13528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:22:58 +00:00
7b57d47e25 grid/snap minimum selection length
git-svn-id: svn://localhost/ardour2/branches/3.0@13527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 15:35:05 +00:00
5932b7903a fix compiler warning
git-svn-id: svn://localhost/ardour2/branches/3.0@13526 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 15:35:02 +00:00
6b72e755e3 fix O(N^M) behaviour of control point selection (N = number of control points, M = number of automatable parameters)
git-svn-id: svn://localhost/ardour2/branches/3.0@13525 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 15:18:34 +00:00
89fa20bb75 fix LTC frame TVstandard offset
<pre>
       Ardour-
      transport
     01:00:00:01
          |
          |
    5   5 |           NTSC Line
    2   2 |                                     1
    4   5 v 1   2   3   4   5   6   7   8   9   0
  ____________________             ________________    TV
  |   |   | | | | | | |_|_|_|_|_|_| | | | | | |   |

                          ^
                          |
                          v

    +-+ +-+ + + +-+   +-+ +---+   +---+
  | | | | | | | | |   | | |   |   |   |   |            LTC
  +-+ +-+ +-+ +-+ +---+ +-+   +---+   +---+

           SYNC-WORD      |
              LTC       B | B       LTC
          01:00:00:00   I | I   01:00:00:01
                        T   T
                        7
                        9   0
</pre>

git-svn-id: svn://localhost/ardour2/branches/3.0@13524 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 09:53:13 +00:00
4269bccfeb fix drop-frame TC subframe rounding
git-svn-id: svn://localhost/ardour2/branches/3.0@13523 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 09:53:11 +00:00
b47619c458 Deliver MIDI events to atom ports that support it, merged with transport events.
Eliminate delivery of non-MIDI events to Ardour MIDI buffers.
Fix the general mess of LV2 port flags and types.
Unify old MIDI API and new atom API MIDI stuff.

Making this work required changing the way we do LV2 MIDI slightly: instead of
BufferSet::get_lv2_midi doing the translation automatically, it returns an
empty buffer and the caller is responsible for actually filling it.  This
allows the LV2 code to iterate over the MIDI and transport changes in one go to
merge them into the buffer at the correct times.

Synth plugins using the new atom API now work and can get accurate transport
information along with the MIDI that drives them.


git-svn-id: svn://localhost/ardour2/branches/3.0@13522 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 04:35:31 +00:00
95bd893d5e Disable vulgar keep-above for plugin UIs.
I vaguely recall it being mentioned that this was a kludge for OSX.  Maybe not and somebody will complain.  Oh well, this behaviour is incredibly obnoxious in some environments, and makes plugins that open dialogs (e.g. open file dialogs) completely unusable, and just generally wrong and evil.  I have to try.

git-svn-id: svn://localhost/ardour2/branches/3.0@13521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 04:23:45 +00:00
016b2dcd2c Gracefully ignore plugins with no ports, or invalid ports.
Remove crufty old LV2 debug printing stuff.


git-svn-id: svn://localhost/ardour2/branches/3.0@13520 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 01:48:28 +00:00
b3d63cc99b Better implementation of LV2 plugin<=>UI communication.
This might use a bit more memory than it could, but it works reliably for me
loading a large Ingen patch inside Ardour as an LV2 plugin, which I'm pretty
sure is by far the most high volume such communication out there.


git-svn-id: svn://localhost/ardour2/branches/3.0@13519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 01:30:53 +00:00
d7d47052e8 LTC slave port gets its own headline.
git-svn-id: svn://localhost/ardour2/branches/3.0@13518 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 01:25:31 +00:00
1624f1d714 fix LTC frame offset for video standards
git-svn-id: svn://localhost/ardour2/branches/3.0@13517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 00:29:50 +00:00
fe11de4381 fix LTC frame alignment
git-svn-id: svn://localhost/ardour2/branches/3.0@13516 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 00:24:06 +00:00
1bff57131a substantive change to automation line dragging code to avoid O(N^4) behaviour. performance fixes are still required for realistically data-rich automation lines
git-svn-id: svn://localhost/ardour2/branches/3.0@13515 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17 22:55:03 +00:00
3b63eae41d update to libltc-1.1.0
add support for TV standard specific offset and
binary-group-flags

git-svn-id: svn://localhost/ardour2/branches/3.0@13514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17 20:15:41 +00:00
4c5ef5318e Sent precise transport information to LV2 plugins via events.
We send the full transport state (frame position, BBT time, transport speed,
meter) to the plugin:

 * At the start of a cycle whenever a relocate or transport speed change has
   occurred

 * On every occurrence of a meter change within a cycle

This means the plugin gets a sample accurate meter/tempo map, even if the meter
changes in the middle of a cycle.  However, this is not quite right yet: things
can get wonky if the tempo map is edited while rolling, since this code will
not detect the change and fail to update the plugin at the start of the cycle.

Other changes:

 * Factor out TempoMetric::set_metric() and simplify some tempo functions
 * Clean up LV2 URID stuff


git-svn-id: svn://localhost/ardour2/branches/3.0@13513 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17 18:41:19 +00:00
dd78c6ed71 Tidy up tempo.h and add some documentation.
Fix some const violating casts.
No functional changes.

git-svn-id: svn://localhost/ardour2/branches/3.0@13512 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-16 22:56:47 +00:00
Ben Loftis
6b6ef35f3e new button look
git-svn-id: svn://localhost/ardour2/branches/3.0@13511 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-16 19:27:39 +00:00
Carl Hetherington
0b2359098f Fix libardour test build.
git-svn-id: svn://localhost/ardour2/branches/3.0@13510 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 19:46:40 +00:00
5cdc9239e0 move internal edit button away from mouse mode buttons by a small distance, and change its tooltip to match website terminology
git-svn-id: svn://localhost/ardour2/branches/3.0@13509 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 19:36:09 +00:00