13
0
Commit Graph

4749 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
3fa84d0caa add alt-i as a binding in both the editor and mixer windows to toggle the state of MIDI input on the selected track(s); in the mixer this will also operate on the strip under the mouse. fixes #4838
git-svn-id: svn://localhost/ardour2/branches/3.0@13475 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:19:04 +00:00
b8ff65ea1b overhaul timecode calculations
in particular proper SMPTE12M drop-frame support
and subframe rounding.

git-svn-id: svn://localhost/ardour2/branches/3.0@13473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:00:49 +00:00
0b80f3391b complete r13404 - use double for timecode fps.
git-svn-id: svn://localhost/ardour2/branches/3.0@13471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:00:45 +00:00
4a6bf110e0 fix #5076 - we failed to actually find any existing snapshots because the path scanner was passing filename only, not full paths, to the filter function which used a Glib::file_test() on it (and failed)
git-svn-id: svn://localhost/ardour2/branches/3.0@13459 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-12 17:41:04 +00:00
2c1b2256b6 slave delta: move sign next to the digit
git-svn-id: svn://localhost/ardour2/branches/3.0@13457 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-12 16:49:18 +00:00
7253e8ff84 fix for #5078 - not considering unused playlists when computing region use count
git-svn-id: svn://localhost/ardour2/branches/3.0@13452 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-12 15:50:38 +00:00
8872844a60 add slave and generator Timecode offset (no UI yet)
So far only LTC slave, LTC generator and MTC slave.
MTC generator remains to be done.

git-svn-id: svn://localhost/ardour2/branches/3.0@13441 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 20:43:53 +00:00
e1166e3266 reintroduce space before delta "sample" lable
git-svn-id: svn://localhost/ardour2/branches/3.0@13435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 16:27:27 +00:00
a57f4ead2d make Cairo{HV}Packer fetch bg information from a style file, rather than hard-code it
git-svn-id: svn://localhost/ardour2/branches/3.0@13433 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 16:03:37 +00:00
23f00184c8 first round of audio-clock font rendering update
git-svn-id: svn://localhost/ardour2/branches/3.0@13425 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 02:45:01 +00:00
8216e35c5b add a delta sign to the slave delta display.
git-svn-id: svn://localhost/ardour2/branches/3.0@13423 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-10 20:00:24 +00:00
cbc8c6b7cf update slave clocks -- to use long minus
git-svn-id: svn://localhost/ardour2/branches/3.0@13422 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-10 19:48:50 +00:00
c27dde889c make timecode offset work
git-svn-id: svn://localhost/ardour2/branches/3.0@13418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 17:27:30 +00:00
ca7e72db62 move auditioner output configuration params from session to global config vars
git-svn-id: svn://localhost/ardour2/branches/3.0@13414 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 15:05:02 +00:00
5eeefbb3a5 Don't notify user if fps changes only affect speed but not counting.
also unify labels for 29..97XX and simplify fps display.

git-svn-id: svn://localhost/ardour2/branches/3.0@13412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 14:24:31 +00:00
d4140367a3 LTC encoder: relax alignment constraint under some circumstances.
git-svn-id: svn://localhost/ardour2/branches/3.0@13406 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:48:11 +00:00
f2009ea777 LTC slave fix fps detection with 29.97000 option
git-svn-id: svn://localhost/ardour2/branches/3.0@13405 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:48:08 +00:00
e38ac84184 use double for timecode fps.
git-svn-id: svn://localhost/ardour2/branches/3.0@13404 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:48:06 +00:00
838a8a0137 LTC encoder: fix signal polarity
git-svn-id: svn://localhost/ardour2/branches/3.0@13403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:48:04 +00:00
e0012e1b88 LTC encoder: clear user-bits
requires libltc >=1.0.3

git-svn-id: svn://localhost/ardour2/branches/3.0@13401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:47:59 +00:00
67b836e6a3 MTC slave: 2997fudge option
git-svn-id: svn://localhost/ardour2/branches/3.0@13400 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:47:57 +00:00
8eae3009e1 fix LTC slave initial TC track values
git-svn-id: svn://localhost/ardour2/branches/3.0@13399 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:47:54 +00:00
8c9c0836a3 experimental option to support LTC 29.97000 fps generators.
also change 29.97ndf frame-rate to 30000/1001.

git-svn-id: svn://localhost/ardour2/branches/3.0@13395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-07 23:02:11 +00:00
0e0c15833e new MTDM implementation from Fons' latest jack_delay implementation
git-svn-id: svn://localhost/ardour2/branches/3.0@13394 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-07 17:13:37 +00:00
a8cf2aa4f9 fix required-sample count for cubic interpolation.
I have not proved if the iterative process in
CubicInterpolation::interpolate() is identical to
(nframes * fabs(_actual_speed)), however ceil()
of it is empirically always larger.
Also, the cubic interpolation needs +2 samples.

Ardour3: Too close to call :)

git-svn-id: svn://localhost/ardour2/branches/3.0@13392 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-07 03:17:55 +00:00
9943fffdf8 LTC slave: suppress warning during shutdown
git-svn-id: svn://localhost/ardour2/branches/3.0@13390 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05 22:55:19 +00:00
975cc6e5e6 NOOP - LTC generator replace double(a) with (double)a
git-svn-id: svn://localhost/ardour2/branches/3.0@13389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05 22:55:17 +00:00
b75a348e3a NOOP - LTC generator: bit-alignment add comments and made permanent
git-svn-id: svn://localhost/ardour2/branches/3.0@13388 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05 22:55:13 +00:00
6035b92036 LTC generator: undo pull up/down adjustments
git-svn-id: svn://localhost/ardour2/branches/3.0@13387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05 22:55:06 +00:00
3f1b758491 LTC generator: adaptive signal filter
git-svn-id: svn://localhost/ardour2/branches/3.0@13386 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05 22:55:04 +00:00