13
0
Commit Graph

67 Commits

Author SHA1 Message Date
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
458c588e2c Don't bind playlist_modified with a shared_ptr<Playlist> parameter.
Clean up.


git-svn-id: svn://localhost/ardour2/branches/3.0@4599 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 05:13:05 +00:00
fb254fb2fc Fix crash when NullAutomation is created (which shouldn't be happening, but hey...).
git-svn-id: svn://localhost/ardour2/branches/3.0@4598 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 04:53:01 +00:00
5b71b9333a Bring the note mode menu back from the dead.
Fix percussive note (diamonds) placement.


git-svn-id: svn://localhost/ardour2/branches/3.0@4587 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 21:19:01 +00:00
Hans Baier
3705a2d630 * MIDI control lanes: Set Interpolationtype according to Parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@4452 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-28 04:55:31 +00:00
Hans Baier
5309c327ec * make MIDI-specific menu show up on all MIDI lanes
* style guide, comments and a little refactoring (remove duplication)


git-svn-id: svn://localhost/ardour2/branches/3.0@4422 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-21 10:20:27 +00:00
Hans Baier
33852a0728 * Added Menu to add a Program change parameter lane
* made adding automation lanes add them for every active channel on the track
* Evoral::Parameter.hpp: Strict weak ordering again: make the proof a bit easier to read
                         Make the implementation conform to the proof
                         order Parameters according to type, then channel, then id


git-svn-id: svn://localhost/ardour2/branches/3.0@4421 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-21 08:32:23 +00:00
Carl Hetherington
042997e5ed Cleanups and a few comments.
git-svn-id: svn://localhost/ardour2/branches/3.0@4374 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-02 00:17:55 +00:00
Hans Baier
22d73333c6 * fixed missing track color mode persistence
git-svn-id: svn://localhost/ardour2/branches/3.0@4357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-29 01:02:41 +00:00
Hans Baier
c3636a8c61 * Made MIDI channel coloring work in the track channel selector
* added loudspeaker button to MIDI toolbar


git-svn-id: svn://localhost/ardour2/branches/3.0@4347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-25 09:28:57 +00:00
Hans Baier
e2147fbc5b * implemented three coloring modes for MIDI tracks (untested yet)
git-svn-id: svn://localhost/ardour2/branches/3.0@4344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-24 01:24:49 +00:00
Hans Baier
30daaebaa2 * fixed memory allocation bugs
* commented out a crash line in ardour_ui2.cc (added a warning message).
  (I thought, it may be fairly efficient to keep issues as code instead of putting
  them in the tracker where hardly ever one would notice the needle in the haystack)
* forgot to clear two other collections on MidiPatchManager::refresh()


git-svn-id: svn://localhost/ardour2/branches/3.0@4312 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 06:57:38 +00:00
Hans Baier
e009016b03 * added myself to about.cc
* created ArdourCanvas::CanvasFlag as a base class for flags
* removed obsolete cruft from midi_model
* made MidiTimeAxisView and MidiRegionView work together to display program changes as
  names by means of MidiPatchManager


git-svn-id: svn://localhost/ardour2/branches/3.0@4307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-11 08:06:27 +00:00
Hans Baier
dfed4965b7 * make patch selection appear only when there are patches loaded
* add combobox to select CustomDeviceMode
* add code to resolve patch names by their msb, lsb and program change number


git-svn-id: svn://localhost/ardour2/branches/3.0@4306 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-10 10:54:45 +00:00
Hans Baier
f8480d6392 * moved /midi_patch_manager.* to libs/ardour
* GUI improvement: do away with the midi channel expander


git-svn-id: svn://localhost/ardour2/branches/3.0@4305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-09 08:35:02 +00:00
Hans Baier
457f06855e * first working prototype of selecting instruments in the MIDI track header
* parsing patchfiles works


git-svn-id: svn://localhost/ardour2/branches/3.0@4304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-09 07:42:19 +00:00
Hans Baier
a9bb336fc4 * first primitive implementation of MidiPatchManager
* some cosmetic changes
* added midi_patch_path() to libs/ardour/ardour/session_directory.h


git-svn-id: svn://localhost/ardour2/branches/3.0@4299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-08 09:50:19 +00:00
6b0d22268b Normalize XML property name style, preserving old session loading (on load _ will be converted to -).
Still to go:  Non-consistent PBD tag names, colours.


git-svn-id: svn://localhost/ardour2/branches/3.0@3872 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-05 23:14:48 +00:00
dca03d05cd Rename 'MIDI' drop down 'Channel' (actually describes what's in it).
Fix packing of MIDI track header so Channel is at the top.
Partially separate min-size-to-show-channel and min-size-to-show-keyboard values from the old hLargest etc. variables (towards sticking more widgets in the header dynamically).


git-svn-id: svn://localhost/ardour2/branches/3.0@3863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-05 02:32:05 +00:00
f3252f6585 Commit the colours I thought I was committing the last time.
git-svn-id: svn://localhost/ardour2/branches/3.0@3861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-05 02:00:43 +00:00
b5ec66ae6c Can't call the wrong function when there's only one of them: remove ARDOUR::Parameter and just use Evoral::Parameter (move Ardour specific functionality to EventTypeMap where it belongs).
Less than pretty in places but easily seddable just in case...


git-svn-id: svn://localhost/ardour2/branches/3.0@3838 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29 22:47:40 +00:00
909995338c Fix warnings.
Mostly fix MIDI track resizing wackiness (from torbenh).


git-svn-id: svn://localhost/ardour2/branches/3.0@3817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-27 18:07:37 +00:00
ffaf827d93 Eliminate a ton of unnecessary complete redrawing in MIDI stream views:
Only resize vertically (don't reaload model) on range changes.
Keep track of range in model while loading (writing to model), rather than double display MIDI regions to find out.
Don't go crazy and chew CPU blinking around and doing nothing on initial show of MIDI track context menu.
Change radio 'full range' and 'contents range' menu items to non-radio actions that just set the range appropriately.
Fix crashes on some esoteric case of control data I can't figure out, but fixed anyway, so I guess it all worked out well in the end for everybody.


git-svn-id: svn://localhost/ardour2/branches/3.0@3794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 02:40:29 +00:00
a43d53e3b9 - Call channel pressure channel pressure, not aftertouch (that's key specific).
- Add context menu items to add a bender or pressure automation track to a MIDI track.
- Now just need to figure out creation of program change events and you can create
  everything MIDI ardour understands from the GUI...


git-svn-id: svn://localhost/ardour2/branches/3.0@3782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21 18:08:18 +00:00
e14187aadd Display recorded controller data (fix show all/existing automation).
git-svn-id: svn://localhost/ardour2/branches/3.0@3779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21 16:17:02 +00:00
7aea02083a Restore visible CC/etc automation tracks on session load.
Fix CC/channel mismatch when creating a new CC track.
Always display CC with 1-based numbering (like channel).


git-svn-id: svn://localhost/ardour2/branches/3.0@3763 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 17:24:52 +00:00
d357eca668 Factor out sequencing related things into an independant new library: "evoral".
Anything related to the storage of events/values over a range of time lives in evoral.
This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList),
	Automatable (Evoral::ControlSet), etc).
libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511.


git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 00:47:49 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
8ca72c4eca Fix various MIDI corruption bugs.
Re-enable MIDI CC controller bars and other immediate output (hans commented out, tsk tsk).
Write channel mode as textual enumeration instead of magic number.
Better atomic (almost) channel mode switching on MIDI ring buffer (was a possible, if unlikely, source of corruption).
Handle some cases of broken MIDI, and oversized events, more gracefully.


git-svn-id: svn://localhost/ardour2/branches/3.0@3335 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 02:40:48 +00:00
fb1fbf71af Fix range problems for pitch wheel controller.
git-svn-id: svn://localhost/ardour2/branches/3.0@3308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 21:34:00 +00:00
Hans Baier
0e394fb66b * removed old implementation for Program Changes from MidiModel
* Added Automation based implementation for Program Changes, Pitch Bender and Channel Aftertouch

git-svn-id: svn://localhost/ardour2/branches/3.0@3304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 19:09:32 +00:00
Hans Baier
c72bf18bf4 * persisting/restoring track channel settings works now
git-svn-id: svn://localhost/ardour2/branches/3.0@3276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-21 15:10:13 +00:00
Hans Baier
f31abc5eaf * UI fixes for track channel selection
* implemented 'forcing midi events into a single channel'
* see http://www.flickr.com/photos/24012642@N02/2430165889/

git-svn-id: svn://localhost/ardour2/branches/3.0@3273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-21 09:39:05 +00:00
Hans Baier
e8c2b6f371 * made notes whose channel is not selected in the track appear gray, see http://www.flickr.com/photos/24012642@N02/2429528120/
git-svn-id: svn://localhost/ardour2/branches/3.0@3272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-20 22:33:13 +00:00
Hans Baier
d0cee9db09 * fixed display bug in track channel selector
git-svn-id: svn://localhost/ardour2/branches/3.0@3269 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-19 10:41:12 +00:00
Hans Baier
d8adfa49a6 * made channel selector look quite nice, see http://www.flickr.com/photos/24012642@N02/2425203856/ (still needs some work...)
git-svn-id: svn://localhost/ardour2/branches/3.0@3268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-19 10:30:38 +00:00
Hans Baier
85c223da0d * first prototype for track based channel selection works
git-svn-id: svn://localhost/ardour2/branches/3.0@3267 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-19 02:11:11 +00:00
faf4e1d8e8 Clean up weird formatting from underlays patch.
Fix several memory (valgrind) errors in a vain attempt to fix crash on session close.


git-svn-id: svn://localhost/ardour2/branches/3.0@3105 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-22 01:45:29 +00:00
012292b4bd Less crash-happy MIDI reading on weird MIDI files.
Make "show existing automation" create/show automation tracks for all contained CC in MIDI tracks.
Fix staggered time when importing multi-track MIDI files.


git-svn-id: svn://localhost/ardour2/branches/3.0@3086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-19 03:24:44 +00:00
1b65758557 Committed underlay support (from Audun).
git-svn-id: svn://localhost/ardour2/branches/3.0@3037 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-10 18:16:25 +00:00
b2e3b18dab Fix problem with notes occasionally not showing up at all.
git-svn-id: svn://localhost/ardour2/trunk@2919 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-15 03:32:51 +00:00
794917fca7 Install everything to *ardour3* instead of *ardour2*.
Fix initial display of keys and scroomer on new MIDI tracks.
Remove console barf.


git-svn-id: svn://localhost/ardour2/trunk@2909 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-13 21:34:04 +00:00
2db91c126e Apply MIDI keyboard and "scroomer" patch.
git-svn-id: svn://localhost/ardour2/trunk@2908 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-13 17:45:17 +00:00
a7fb6f897f Fix note range menu item initial value (it probably should be saved and restored though...).
git-svn-id: svn://localhost/ardour2/trunk@2449 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-11 02:24:54 +00:00
c190aca4a0 Deep "automation regions" support.
Fix zoom/height/etc changing for automation region views.
Broke smooth automation region dragging (make omelette, break eggs, etc).


git-svn-id: svn://localhost/ardour2/trunk@2424 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-06 02:30:39 +00:00
e486a8d86f Per-region MIDI CC "automation".
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
2007-08-17 17:25:20 +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
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
b942d3613e Fix 'live' CC sending of bar controllers after loading session (previously only worked when immediately created by user).
git-svn-id: svn://localhost/ardour2/trunk@2116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-06 02:37:35 +00:00