Commit Graph

824 Commits

Author SHA1 Message Date
bb33e5d9f8 Get MidiRegionView's hands on MidiModel for editing operations to come.
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
2007-07-31 02:16:46 +00:00
9e1eed55aa fix some aspects of midi region view event handling
git-svn-id: svn://localhost/ardour2/trunk@2192 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-30 23:58:25 +00:00
2cbaa2751c Basic canvas note event handling framework.
Note dragging (non-functional).


git-svn-id: svn://localhost/ardour2/trunk@2187 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-30 16:33:10 +00:00
633d9131af Use 'show contents' note range by default (fix uninitialized value).
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
2007-07-28 09:01:19 +00:00
6e167cb1a8 Playback from MIDI model, playback of clicked-in events.
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
2007-07-28 07:09:21 +00:00
1aba241919 Note canvas event handling testing stuff.
git-svn-id: svn://localhost/ardour2/trunk@2154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-19 21:00:09 +00:00
f542fa693c Midi pencil undo (not yet serializable).
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
2007-07-17 01:48:42 +00:00
332a3d9813 Selection of visible note range (full range vs fit contents, selectable from midi track menu).
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
2007-07-15 01:56:11 +00:00
68653307e6 Note modes: note, percussion.
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
2007-07-07 03:19:04 +00:00
cfe29a14ee Scale MIDI track vertical range to match widgest range of notes in child regions.
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
2007-07-05 07:02:24 +00:00
fc7a2e9ee1 Added dialog to allow adding any Midi CC track.
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
2007-06-27 21:37:08 +00:00
13151b43f0 Redraw MIDI region views on zoom and track height changes.
Disable excessive/old debug prints.
Fix region view heights.


git-svn-id: svn://localhost/ardour2/trunk@1982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-09 06:10:30 +00:00
7ff7f4013d Use double MIDI timestamps (towards tempo based time, and more-than-sample-accurate LV2 MIDI plugin application).
Eliminate double iteration over MIDIRingBuffer read to translate timestamps.


git-svn-id: svn://localhost/ardour2/trunk@1981 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-09 02:07:59 +00:00
0605f98fdc Fix time skew after MIDI recording (added missing conversion from delta time to audio frames).
Fix crash bug in MIDI recording.


git-svn-id: svn://localhost/ardour2/trunk@1980 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-08 23:03:32 +00:00
9091ba932d Fixed MIDI crash bug.
Added some asserts to gtkmm2ext that hopefully may catch a bug I might have possibly seen once or twice, probably.
Fixed uninitialized value in time_axis_view.cc.


git-svn-id: svn://localhost/ardour2/trunk@1958 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-07 02:07:49 +00:00
7852cc219c Save MIDI files to interchange/sessionname/midifiles (instead of audiofiles).
Fix some uninitialized variables in Streamview.
Tempo-based SMF source (internally only).
Horrible crash on MIDI record finish.


git-svn-id: svn://localhost/ardour2/trunk@1955 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-05 16:39:23 +00:00
b0e91bfa08 Fix MIDI region loading.
Add model loading and destroying to SMFSource.
Load and display MIDI region data on session load.


git-svn-id: svn://localhost/ardour2/trunk@1947 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-03 20:06:01 +00:00
41c128155a Fix note heights to be consistent.
git-svn-id: svn://localhost/ardour2/trunk@1946 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-02 17:48:11 +00:00
b6814c4839 Fix vertical order of MIDI notes.
Extend current active notes to end of region while recording.
Initialize note state correctly.


git-svn-id: svn://localhost/ardour2/trunk@1945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-02 00:55:32 +00:00
b32765571b Preliminary visible MIDI notes in MidiRegionView.
git-svn-id: svn://localhost/ardour2/trunk@1943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-01 23:27:29 +00:00
Carl Hetherington
ef65fd2510 Add stacked lanes mode which displays regions on different layers at different positions in the view.
git-svn-id: svn://localhost/ardour2/trunk@1855 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-17 10:41:14 +00:00
82232f06ba Merged with trunk R861
Possible new bugs - not very thoroughly tested, but at least functional at first glance


git-svn-id: svn://localhost/ardour2/branches/midi@870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-29 21:21:48 +00:00
d752986314 - MIDI "recording" - rec region creation/drawing, actual MIDI region creation/view/pretty pictures/etc
- MIDI containing session saving and restoring (ie XML - Source, Region, Playlist; all but the actual .mid files)
- Numerous little fixes for audio specific stuff to accomplish the above
- Dirty hacks to accomplish the above
- Profit!!!


git-svn-id: svn://localhost/ardour2/branches/midi@821 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-14 08:44:14 +00:00
30c08ba655 - Changed IO's vector<Port*>'s to PortList
- Added new Port classes, code to drive them
- Added PortList, which is a filthy mess ATM (nevermind that, it's the interface that's important at this stage)
- Added ChanCount, though it isn't very thoroughly used yet.  That's the next step....
- Fixed a few bugs relating to loading sessions saved with trunk
- Fixed a few random other bugs

Slowly working towards type agnosticism while keeping all the former code/logic intact is the name of the game here

Warning:  Removing ports is currently (intentionally) broken due solely to laziness.


git-svn-id: svn://localhost/ardour2/branches/midi@786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11 03:24:57 +00:00