Fixes bug 1852 for the trunk, similar fix has already been applied to 2.0-ongoing
git-svn-id: svn://localhost/ardour2/trunk@2471 d708f5d6-7413-0410-9779-e7cbd77b26cf
It previously allowed ardour session files and session backup files to be
selected as templates, this was causing strange behaviour or segmentation
faults. see bug report for more details.
git-svn-id: svn://localhost/ardour2/trunk@2348 d708f5d6-7413-0410-9779-e7cbd77b26cf
Extremely broken in several ways.
This commit brought to you by the letters D, R, and my need to switch machines.
git-svn-id: svn://localhost/ardour2/trunk@2323 d708f5d6-7413-0410-9779-e7cbd77b26cf
Read from MidiRingbuffer directly into model, don't read MidiRingBuffer into a new midi buffer, then into the model.
Pass rec data to UI via model instead of a separate buffer.
Read MIDI CC data into MidiModel (though not actually used yet).
Made quantization toggle edited flag so model is saved.
git-svn-id: svn://localhost/ardour2/trunk@2308 d708f5d6-7413-0410-9779-e7cbd77b26cf
Seems to be a pretty random problem with note duration restoring though...
git-svn-id: svn://localhost/ardour2/trunk@2290 d708f5d6-7413-0410-9779-e7cbd77b26cf
When the moon is right.
Cosmic radiation may be a factor.
Prayer may not be an entirely bad idea, just in case.
git-svn-id: svn://localhost/ardour2/trunk@2283 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fix shutdown crash (one of many, namely the least nasty).
Failed attempt at getting MIDI edits to apply ASAP (Diskstream::playlist_modified isn't the magic I'd hoped it was).
git-svn-id: svn://localhost/ardour2/trunk@2265 d708f5d6-7413-0410-9779-e7cbd77b26cf
Don't raise tempo lines to top on editor canvas, they steal events. Same problem on time canvas, but harder to solve...
git-svn-id: svn://localhost/ardour2/trunk@2255 d708f5d6-7413-0410-9779-e7cbd77b26cf
Draw tempo lines on time canvas and connect them up all pretty-like to the ruler ticks.
Still needs some visual tweaking, but... they draw! Finally!
git-svn-id: svn://localhost/ardour2/trunk@2247 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fixed positioning of percussion hits.
Note row separator lines (ie a "piano roll".. if it counts as a piano roll without an actual piano on the side of it, anyway).
git-svn-id: svn://localhost/ardour2/trunk@2237 d708f5d6-7413-0410-9779-e7cbd77b26cf
Added creation of notes of arbitrary duration via right drag.
Removed a bunch of redundant height calculation, etc. stuff.
git-svn-id: svn://localhost/ardour2/trunk@2236 d708f5d6-7413-0410-9779-e7cbd77b26cf
Better vertical note snap, don't let the mouse drift away from the note on fast drags.
git-svn-id: svn://localhost/ardour2/trunk@2218 d708f5d6-7413-0410-9779-e7cbd77b26cf
Press delete on a single note to delete it.
Hold delete and mouse over a number of notes to delete them all in a single operation.
git-svn-id: svn://localhost/ardour2/trunk@2214 d708f5d6-7413-0410-9779-e7cbd77b26cf
Rewrote MidiEvent to be a well-behaved self-contained object that optionally owns it's buffer, has proper copying semantics, etc.
Fixed crazy bugs triggered by adding lots of events with varying times to a region.
Speed up initial session display significantly (don't redraw each MIDI region tons of times, though still happens more than once and can use fixing...).
git-svn-id: svn://localhost/ardour2/trunk@2213 d708f5d6-7413-0410-9779-e7cbd77b26cf
MIDI select rectangle.
Add notes on a proper click only (not mouse down).
Fix crash when dragging from region to outside region.
git-svn-id: svn://localhost/ardour2/trunk@2196 d708f5d6-7413-0410-9779-e7cbd77b26cf
Obey note mode on playback (note offs are not sent in Percussive mode).
Vary note colour/opacity with velocity (needs theization/tweaking, but hey, it's something).
git-svn-id: svn://localhost/ardour2/trunk@2184 d708f5d6-7413-0410-9779-e7cbd77b26cf
Note the diskstream chunk size affects reading of clicked-in, so you may need to seek away and back again to have new events read (this will be fixed).
git-svn-id: svn://localhost/ardour2/trunk@2183 d708f5d6-7413-0410-9779-e7cbd77b26cf
Formatting fixes for session.h (ie kill more of those damned 8 space expanded tabs).
git-svn-id: svn://localhost/ardour2/trunk@2135 d708f5d6-7413-0410-9779-e7cbd77b26cf
Added note pencil tool, mock note adding (notes can be added visually but don't yet play).
Reworked MidiModel to be notes w/ duration instead of realtime style MIDI events.
Moved layering (stacked/overlaid) from auto time axis down to route time axis since it applies
to MIDI tracks as well.
git-svn-id: svn://localhost/ardour2/trunk@2128 d708f5d6-7413-0410-9779-e7cbd77b26cf
Percussion tracks display diamonds.
Separated/fixed MIDI and audio mode menus.
CC automation modes: discrete, line.
Bar controllers follow setting (hard steps or line) on playback.
Sent CC data is always discrete (line not implemented yet).
Discrete tracks show no lines, and always show control points.
Separated ControlPoint from AutomationLine.
Added some basic information (range) to Parameter (to be fleshed out..).
git-svn-id: svn://localhost/ardour2/trunk@2123 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fiddled with canvas theme a bit to make tempo more visible and probably annoy pure audio MIDI/tempo haters.
Fix track-specific-color display on mixer strips for MIDI tracks.
git-svn-id: svn://localhost/ardour2/trunk@2112 d708f5d6-7413-0410-9779-e7cbd77b26cf
Use double throughout for automation control point y coordinate instead of casting to this and that losing precision.
Fix crash bug in route automation menu.
git-svn-id: svn://localhost/ardour2/trunk@2107 d708f5d6-7413-0410-9779-e7cbd77b26cf
Future-proof automation track GUI 'extra' XML (<GUI><AutomationChild automation-id="gain"> instead of <GUI><gain> so Parameter.to_string isn't used as an XML node name).
Fix automation track controller bar shown/hidden state.
Fix automation track initial show bug.
git-svn-id: svn://localhost/ardour2/trunk@2103 d708f5d6-7413-0410-9779-e7cbd77b26cf
Brought plugin automation into the fold of new automation system.
Fixed plugin automation, broke panner automation :] (pending Panner work).
Made AutomationController better at automatically following it's controller value (mimic what gain meter does).
Fixed some visible automation track bugs (but still broken WRT serialization).
git-svn-id: svn://localhost/ardour2/trunk@2092 d708f5d6-7413-0410-9779-e7cbd77b26cf
Use uint32_t instead of size_t counts (halves size of ChanCount on 64-bit).
Shift DataType values down to eliminate subtraction every index of a ChanCount or *Set.
Allow using DataType directly as an array index (prettier/terser).
Fix some mixed spaces/tabs in file comment headers.
git-svn-id: svn://localhost/ardour2/trunk@2082 d708f5d6-7413-0410-9779-e7cbd77b26cf
making automation + GUI + play/write/touch generic and easily reusable.
Added bar controller to automation track controls (mostly relevant for MIDI CC, but added for gain and pan too Just Because).
Fixed glaring "redirect" list errors.
Fix plugin controls/automation loading.
git-svn-id: svn://localhost/ardour2/trunk@2080 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fix display/menu generation when adding a MIDI CC track.
Fix crash bug triggered by recording MIDI track with visible CC child track.
git-svn-id: svn://localhost/ardour2/trunk@2073 d708f5d6-7413-0410-9779-e7cbd77b26cf
Things with automation parameters now inherit from Automatable, which handles serialization, fetching/adding/removing parameters, etc.
Use AutomationList everywhere instead of Curve, make Curve a member of AutomationList instead (towards other types of "Curve" needed for CC, among other things).
Work towards MIDI CC sending "automation" tracks.
git-svn-id: svn://localhost/ardour2/trunk@2069 d708f5d6-7413-0410-9779-e7cbd77b26cf
Remove Session::control_protocol_path and the supporting non-portable
Session::suffixed_search_path from Session.
Add ARDOUR::control_protocol_search_path which is used in place of
Session::control_protocol_path
Replace ARDOUR::get_system_module_path with ARDOUR::system_module_directory which
is used by ARDOUR::control_protocol_search_path
Export ARDOUR_SURFACES_PATH in gtk2_ardour/ardev_common.sh which is returned
by ARDOUR::control_protocol_search_path if defined. This means the control surfaces
in the libs/surfaces/* directories can now be used without installing them.
Add pbd/file_utils.h/cc containing functions for finding files matching a certain
pattern
Update documentation in SearchPath and add another constructor that takes
a sys::path
git-svn-id: svn://localhost/ardour2/trunk@2049 d708f5d6-7413-0410-9779-e7cbd77b26cf
This works for both Internal (seamless) and JACK sync, new regions are created
each cycle around the loop and stacked on top of each other. It is recommended
for now that automatic crossfades be turned off when doing this.
Punch-In/Out may be used also (this used to be the only way to accomplish recording
while looping, but now the GUI represents it without goofiness.
* Fixed the stuttering/stuck problem when looping with JACK sync
* Fixed gui bug that prevented record-disable when latch record option is on
* Fixed issue where it would rec-enable unnecessarily when passing through the punch-out point
* Fixed corner case in diskstream record length (that no one would ever notice)
git-svn-id: svn://localhost/ardour2/trunk@2035 d708f5d6-7413-0410-9779-e7cbd77b26cf
Cleaning up/genericification of Insert interface.
Fixed meter count for pre-fader metering (was # inputs, not # channels at end of pre-fader redirect list).
Work on redirect list stream handling, better error reporting (towards automatically adding 'adaptors' in the future?).
git-svn-id: svn://localhost/ardour2/trunk@2025 d708f5d6-7413-0410-9779-e7cbd77b26cf
Add add_instant_xml and instant_xml methods to the Session class which call
the corresponding Stateful methods with the session directory for the
directory argument
Add add_instant_xml and instant_xml methods to the Configuration class which
call the Stateful methods with ARDOUR::get_user_ardour_path() for the directory
argument
git-svn-id: svn://localhost/ardour2/trunk@2012 d708f5d6-7413-0410-9779-e7cbd77b26cf
Use shorter labels for zoom box to avoid wasted/ugly horizontal space to the right of track controls (present on high DPI screens? best I could come up with, controls refuse to horizontally expand :/)
git-svn-id: svn://localhost/ardour2/trunk@1992 d708f5d6-7413-0410-9779-e7cbd77b26cf
Write/read colours from XML in hex (ie usual RGBA values).
Fix "clipped aveform" typo in canvas vars.
git-svn-id: svn://localhost/ardour2/trunk@1991 d708f5d6-7413-0410-9779-e7cbd77b26cf