13
0
Commit Graph

4777 Commits

Author SHA1 Message Date
3468797237 fix wierd rec-enable behaviour, at possible expense of adding more RT cost
git-svn-id: svn://localhost/ardour2/branches/3.0@13615 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-07 19:35:38 +00:00
8ca9061b30 fix issues with rec-enabling being done in RT context by splitting it into two parts, an RT-safe and RT-unsafe part. along the way, remove "do not record plugins" option which is just so 1999 and creates problems for various (all?) plugin APIs
git-svn-id: svn://localhost/ardour2/branches/3.0@13613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-07 15:48:38 +00:00
eacba74649 change presentation of shortcut in tooltips and fix include paths
git-svn-id: svn://localhost/ardour2/branches/3.0@13612 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-07 13:43:45 +00:00
Ben Loftis
92e5a13fd4 several theme changes. changed drawing of rounded_rectangle to be more correct. operation and feel should be more consistent. rec-mute-solo buttons are now dull until enabled. this might be debatable. otherwise if it looks weird, try loading Window->Theme Manager and clicking Restore Defaults
git-svn-id: svn://localhost/ardour2/branches/3.0@13611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-06 20:48:44 +00:00
9884773eea various fixes for exporting, including correct handling of errors during export which previously would hang when using jack1 because jack_set_freewheel() was called from inside a process() callback; use shared_ptr<Route> in parts of export code that weren't using them before; fix up generation of export filenames so that Glib::build_filename() is used and non-existent folders are ignored
git-svn-id: svn://localhost/ardour2/branches/3.0@13610 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-06 19:56:33 +00:00
3668e822ab tentative fix for MIDI monitoring bug - just use existing monitoring code, i.e. treat MIDI tracks just like audio... needs feedback from MIDI users (also #5060 reporter)
git-svn-id: svn://localhost/ardour2/branches/3.0@13602 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-05 16:08:17 +00:00
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
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
1feaa65d16 do not try to write from JackMIDIPort::write() if we are disconnected from JACK. should fix erroneous behaviour when MMC tries to send stop messages after JACK disconnects
git-svn-id: svn://localhost/ardour2/branches/3.0@13594 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-03 21:39:59 +00:00
8ecabd0d37 remove debugging output; properly handle cases in Curve::_get_vector() where the entire requested range for the vector is either before the first point in the curve (unlikely to happen because we typically add a guard point at zero) or entire after the last point in the curve
git-svn-id: svn://localhost/ardour2/branches/3.0@13582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-02 00:23:03 +00:00
9e84a2f931 still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:49:59 +00:00
bad34d7ded still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13580 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:42:48 +00:00
776eb23e8b still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:38:15 +00:00
202788ea18 more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:28:47 +00:00
6242371388 debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:21:12 +00:00
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
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
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
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
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
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
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