13
0
Commit Graph

4794 Commits

Author SHA1 Message Date
c9c94ca1c2 merge robin gareus' libltc into ardour source tree for convenience
git-svn-id: svn://localhost/ardour2/branches/3.0@13665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-14 16:18:47 +00:00
Ben Loftis
2292e33ee4 crossfade hack and slash. removed overlap checks, overlap mode, default length, fade_is_xfade, fade_is_short, and other leftovers from previous crossfade models. Draw crossfade drags in realtime so fade_line is no longer needed. remove code for hiding crossfades during a drag. moved crossfade rect to top layer so crossfade lines dont grab mouse focus. drag-trim-with-fixed-fade-anchor is partially implemented and needs discussion
git-svn-id: svn://localhost/ardour2/branches/3.0@13659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 16:42:05 +00:00
67adc8ceed remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@13655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 13:44:44 +00:00
341cbfbd19 reinstate the windows way for GUIIdle's but limit the scope of the connection to just the time when a long-running action is active (for now, just adding > 8 routes)
git-svn-id: svn://localhost/ardour2/branches/3.0@13654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 13:44:11 +00:00
37c7d0cbc1 because sometimes there are good reasons for not doing things the way a windows programmer would
git-svn-id: svn://localhost/ardour2/branches/3.0@13652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 20:03:41 +00:00
75f3005c67 sometimes, you just have to do what a windows programmer would do. add a global signal, ARDOUR::GUIIdle() which can be used in the middle of long-running backend operations to give the GUI a chance to update. use it while adding routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@13650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 18:59:47 +00:00
Ben Loftis
8e8b296bb4 muted regions should be totally ignored during playlist read()
git-svn-id: svn://localhost/ardour2/branches/3.0@13649 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 18:28:40 +00:00
0bf7323df3 finalize fix for MIDI track monitoring
git-svn-id: svn://localhost/ardour2/branches/3.0@13646 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 14:06:56 +00:00
fb204c3dcf if we're not going to use pixfbuf (images) for faders, then lets not create a whole bunch of them unnecessarily (for now, at least)
git-svn-id: svn://localhost/ardour2/branches/3.0@13643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 01:23:06 +00:00
0c7bd6e333 fix uninitialized variable causing error delivering various MIDI messages at frame zero
git-svn-id: svn://localhost/ardour2/branches/3.0@13640 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-11 15:54:41 +00:00
414cc08d6a make sure that JACK MIDI ports know about Jack halting in the "halted info" callback as well a the normal "halted" callback
git-svn-id: svn://localhost/ardour2/branches/3.0@13639 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-11 14:23:55 +00:00
3edf3a9817 pixfader: don't change drawing state (prelight) just because a leave event arrives IF we are dragging
git-svn-id: svn://localhost/ardour2/branches/3.0@13633 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-10 21:52:55 +00:00
Ben Loftis
014540a096 tweak to plugin parameter sliders in mixer strips
git-svn-id: svn://localhost/ardour2/branches/3.0@13631 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-10 20:08:36 +00:00
24917e4c9e disable spline interpolation for curves - use linear interpolation; configuration parameter pending for this, plus slightly cleaner reuse of existing ControlList methods
git-svn-id: svn://localhost/ardour2/branches/3.0@13627 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-09 17:24:58 +00:00
d7716b055c fix automation/control list behaviour when manually adding a point within existing data
git-svn-id: svn://localhost/ardour2/branches/3.0@13619 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-08 17:57:47 +00:00
Ben Loftis
5249f82603 more theming and layout tweaks. new faders that pre-light. fixed some spacing around mixer buttons. tweaked some colors (returned mutes to yellow). removed group button at bottom of mixer strip and replaced it with fader automation mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@13617 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-07 22:38:49 +00:00
Sakari Bergen
526a1a71fe Make export type an enum and pass it to the profile manager instead of the xml node name.
Use this to always include the channel configuration name in stem exports.


git-svn-id: svn://localhost/ardour2/branches/3.0@13616 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-07 21:58:33 +00:00
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