13
0
Commit Graph

9656 Commits

Author SHA1 Message Date
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
adbb47fae7 change semantics for select-all operation: if no track is selected, use the current entered track, or if there is no entered track, use all tracks; if in internal edit mode, check first to see if any MIDI tracks are among those to be operated on, and only do the internal edit version of select-all if there are
git-svn-id: svn://localhost/ardour2/branches/3.0@13508 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 17:20:38 +00:00
a0f00d7d22 add a "guard" point after a write/touch automation insertion, preserving the shape of the later segment of the existing line
git-svn-id: svn://localhost/ardour2/branches/3.0@13507 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 16:22:43 +00:00
a6968f8d2c hotfix negative TC editing - problem was introduced in r13491
git-svn-id: svn://localhost/ardour2/branches/3.0@13506 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 13:19:07 +00:00
60f85cac42 provide the ability to enable + disable tooltips
git-svn-id: svn://localhost/ardour2/branches/3.0@13505 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 23:23:53 +00:00
ff4ea9346b add missing <<endmsg
git-svn-id: svn://localhost/ardour2/branches/3.0@13504 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 21:54:19 +00:00
8cfd91ac46 do not add 2.X search path if its already present in the search path
git-svn-id: svn://localhost/ardour2/branches/3.0@13503 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 21:54:04 +00:00
7bdda0e44c fix missing start-touch call on faders because button press handler that does this was not corrected to the signal in the correct way (before the default handler)
git-svn-id: svn://localhost/ardour2/branches/3.0@13502 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 20:39:27 +00:00
2860c2f5ce remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@13501 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 20:38:48 +00:00
0ebcf50fbd use const static member instead of a magic number
git-svn-id: svn://localhost/ardour2/branches/3.0@13500 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 20:38:25 +00:00
a9fcbef6e0 make startup window a dialog.
improve behavior on tiling window managers

git-svn-id: svn://localhost/ardour2/branches/3.0@13499 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 17:03:54 +00:00
ede41bb984 center Selection/Punch Clk titles over value-column
git-svn-id: svn://localhost/ardour2/branches/3.0@13498 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 17:03:49 +00:00
bb9ab696b1 likely fixes for most remaining issues with data in automation/control lists, but more testing needed
git-svn-id: svn://localhost/ardour2/branches/3.0@13497 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 15:06:41 +00:00
4a64b67d93 change message displayed when there is an open file limit
git-svn-id: svn://localhost/ardour2/branches/3.0@13496 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 12:59:48 +00:00
e80ccbfc8b add back definition of 2ndary clock delta text color
git-svn-id: svn://localhost/ardour2/branches/3.0@13495 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 12:44:46 +00:00
7e8d5ed6d0 fix #5025 part 2
subscribe to route changes (track delete)

git-svn-id: svn://localhost/ardour2/branches/3.0@13494 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 05:01:28 +00:00
cbeabee870 fix #5025 part 1
cairo line may be rounded +-1 px, also invalidating area x<0 is a noop.

git-svn-id: svn://localhost/ardour2/branches/3.0@13493 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 05:01:25 +00:00
cdb8796f5f mark splash screen as such should fix #5069
git-svn-id: svn://localhost/ardour2/branches/3.0@13492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 03:35:25 +00:00
4322fcec23 indicate negative TC when edit is positive.
git-svn-id: svn://localhost/ardour2/branches/3.0@13491 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 03:35:23 +00:00
6a24f75a6f add some meaning to the otherwise useless clock tooltips
git-svn-id: svn://localhost/ardour2/branches/3.0@13490 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 03:35:20 +00:00
be4c868734 put automation list into or out of Touch mode before adding an automation watch, so that ::touching() is correct when called from the add
git-svn-id: svn://localhost/ardour2/branches/3.0@13489 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 02:45:30 +00:00
6055190094 improve negative [offset] TC entry
* make mouse interaction work with negative TC
  * show minus-sign when edit is negative

TODO: ?minus? sign indicator when text editing a negative TC.

git-svn-id: svn://localhost/ardour2/branches/3.0@13488 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 00:15:54 +00:00
86b4b1b56e add tooltips to Offset config
git-svn-id: svn://localhost/ardour2/branches/3.0@13487 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 00:15:52 +00:00
a5f5572159 update BPM and Meter when changed, also change back labels for it.
git-svn-id: svn://localhost/ardour2/branches/3.0@13486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 23:29:57 +00:00
e1581242ca implement TC offset for slave&generator.
Many related changes that require atomic update, mostly
because ClockOption slots changed:

  * change offset config format to std:string (backwards compat - reads 0)
  * make Timecode offset independent from fps
  * sample_to_timecode() handle negative sample-num
  * audio-clock fix entry and edit of negative numbers
  * option editor:
    - remove old global internal offset
    - add slave & generator TC entry
    - still needs UI cleanup, tooltops, maybe sep. tab..
  * LTC & MTC slave& generator:
    - cache offset
    - subscribe to parameter changes

git-svn-id: svn://localhost/ardour2/branches/3.0@13485 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 20:29:28 +00:00
f761de0d70 clock: pull-up/down display update
git-svn-id: svn://localhost/ardour2/branches/3.0@13484 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 20:29:24 +00:00
3f35528f18 revert to a 0..2 scale for MIDI velocity control, so that we can increase MIDI note velocities as well as deccrease them (note: this will make the use of MIDI CC #7 a bit more complex)
git-svn-id: svn://localhost/ardour2/branches/3.0@13483 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 19:23:16 +00:00
40a7b0f0b3 rationalize text/base/bg/fg colors in all entry styles
git-svn-id: svn://localhost/ardour2/branches/3.0@13482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 18:28:31 +00:00
0c0b04ab5c determine whether or not to accept comma or period as a numeric character based on locale settings (once per instance of ardour), related to #5027
git-svn-id: svn://localhost/ardour2/branches/3.0@13481 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 18:05:09 +00:00
c0bb288ff1 change handling of MIDI gain so that we present a linear fader spanning 0..127. this is based on the realization that we actually have no idea what the MIDI receiver will do with velocity and/or CC #7 values, and so trying to pretend that we can provide some kind of dB value in the display or the behaviour of the fader is completely wrong; ALSO: fix keyboard entry of fader levels for non EN locales (#5027)
git-svn-id: svn://localhost/ardour2/branches/3.0@13480 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 17:47:39 +00:00
55c7a3bf01 add timecode format parser
git-svn-id: svn://localhost/ardour2/branches/3.0@13479 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 16:14:25 +00:00
1f1cba3814 oiling the audio clock
git-svn-id: svn://localhost/ardour2/branches/3.0@13478 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 16:14:22 +00:00
98834c0532 remove a bunch of cerr output and/or convert to use error<<
git-svn-id: svn://localhost/ardour2/branches/3.0@13477 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 15:11:07 +00:00
06fa1b73e5 parse keyboard entered drop-frame timecode delta
git-svn-id: svn://localhost/ardour2/branches/3.0@13476 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:25:59 +00:00