13
0
Commit Graph

51 Commits

Author SHA1 Message Date
b976bf8986 NO-OP whitespace & foratting of header files 2017-07-01 21:19:56 +02:00
cdab4c9906 Revert to allowing stacked layer region view for MIDI tracks, for now. 2017-02-06 12:52:40 -06:00
d29f6bde5e prevent suggestion that MIDI tracks can be set to stacked view 2017-01-29 15:03:29 +01:00
140258d8ab remove reference "const int32_t&" -> const int32_t"
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
2016-07-10 15:30:41 +02:00
nick_m
93c24e4433 Paste uses exact beats. rework _start_beats calculation in copy-with-offset ctor. 2016-07-10 02:18:36 +10:00
a12a065457 Fix copy paste of MIDI and track automation. 2014-12-18 20:23:34 -05:00
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
6e912a0aa3 Fix display of MIDI notes/regions while recording.
Make record rect transparency configurable.

Factor out some copy-paste streamview code.
2014-12-17 18:41:23 -05:00
6a5d805b38 more canvas refactoring.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
0796ccfb65 use newly factored canvas in gtk2_ardour 2014-06-21 11:44:22 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
Carl Hetherington
dfd842812c Deselect MIDI notes when leaving internal edit mode
(part of #4669).


git-svn-id: svn://localhost/ardour2/branches/3.0@12471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 21:01:37 +00:00
27a1cf2cf7 Compile cleanly with clang.
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC
environment variables, e.g.:

CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build


git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:54:10 +00:00
Carl Hetherington
cb643ab965 Remove some calls to process_updates() which I think prevent GTK coalescing redraw requests. Remove some debugging code. Suspend update of MIDI regions during scroomer drag to speed things up (#3954).
git-svn-id: svn://localhost/ardour2/branches/3.0@9357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-16 13:31:27 +00:00
Carl Hetherington
e64486acfa Clamp output of y_to_note so that it doesn't return out-of-range values. Should fix #3823.
git-svn-id: svn://localhost/ardour2/branches/3.0@9096 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07 17:17:11 +00:00
477fca0de0 deframe audio regions as well as MIDI when entering internal edit mode
git-svn-id: svn://localhost/ardour2/branches/3.0@9057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 18:32:06 +00:00
2c72f58aa1 experiment with making MIDI region boxes vanish when in note/internal edit mode ... to be continued
git-svn-id: svn://localhost/ardour2/branches/3.0@9054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 14:51:02 +00:00
Carl Hetherington
a46af0460b Create a new layer if required on record to a track in stacked mode. Fixes #3391.
git-svn-id: svn://localhost/ardour2/branches/3.0@8026 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-14 15:01:53 +00:00
Carl Hetherington
ba0458cf1f Update recorded MIDI regions as notes arrive. Fixes one cause of infinite note-lengths during record. Fix various problems with multiple captures of MIDI during one pass.
git-svn-id: svn://localhost/ardour2/branches/3.0@7887 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-08 14:54:16 +00:00
Carl Hetherington
8222348761 Improve GUI display during MIDI record in various ways.
git-svn-id: svn://localhost/ardour2/branches/3.0@7875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-05 00:27:26 +00:00
Carl Hetherington
c06c6c153d Fix up selection of automation points.
git-svn-id: svn://localhost/ardour2/branches/3.0@7556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-06 23:28:44 +00:00
806a22fefe change note colors on the fly, to permit user-definition of colors more easily; remove some debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@7301 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24 19:46:28 +00:00
Carl Hetherington
061a85191c Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstreams. Breaks 3.0 file format again.
git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21 20:42:22 +00:00
2c59ddede5 Fix MIDI rec regions.
git-svn-id: svn://localhost/ardour2/branches/3.0@5842 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 16:26:18 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
Carl Hetherington
402cc384ce Back out big shared_ptr change. Moving to a branch. Apologies all.
git-svn-id: svn://localhost/ardour2/branches/3.0@5343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09 17:58:13 +00:00
Carl Hetherington
4297071b3f Use shared_ptr for the TimeAxisView hierarchy.
git-svn-id: svn://localhost/ardour2/branches/3.0@5339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09 13:39:45 +00:00
Carl Hetherington
0874426a5b Further refactoring of drag code. Changes so that drags from the region list display a region view during the drag.
git-svn-id: svn://localhost/ardour2/branches/3.0@5127 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-08 19:28:51 +00:00
Carl Hetherington
3b89d9eaa0 Remove most using declarations from header files.
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +00:00
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
166395c96b Fix genererally retarded and broken note range / diskstream display / etc. related things (correctly display region contents on initial session load).
git-svn-id: svn://localhost/ardour2/branches/3.0@4583 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 19:44:27 +00:00
10d57b266c Superficial code cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@3804 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-24 19:39:01 +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
b87ca000f8 Merge all the (disconcertingly missing) track/region/etc height changes from 2.0.
Fix track y positioning and initial region size/location.
Fix automation click-to-add-points (i.e. points actually show up where you click).
Fancy whiz-bang dynamic resize 2.0 professional edition support for MIDI/CC/Automation tracks/regions.


git-svn-id: svn://localhost/ardour2/branches/3.0@3769 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 19:32:10 +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
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
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
f9a7388d7a Make SMFSource suck significantly less.
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
2007-08-16 01:25:58 +00:00
684ef0eb7a Fix note range toggling (ie actually change visible range when menu option selected). Still some issue with initial value...
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
2007-08-06 06:09:41 +00:00
604a0079ce Moved note height/range/etc stuff from MidiRegionView to MidiStreamView, since it's all shared anyway.
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
2007-08-04 04:18:34 +00:00
53415b270c Little MidiEvent prettification additions, ifdef'd non-realtime aspects (for future purposes).
Fix MIDI recording crash bug.


git-svn-id: svn://localhost/ardour2/trunk@2228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-02 21:08:18 +00:00
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
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
Doug McLain
9f545076a2 remove color.h
git-svn-id: svn://localhost/ardour2/trunk@2089 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29 20:05:50 +00:00
Doug McLain
789cbb2181 Major Theme Manager changes, see ardour-dev
git-svn-id: svn://localhost/ardour2/trunk@1987 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-15 22:08:27 +00:00
0f2f4d8efc Rewrote MidiRingBuffer to more efficiently pack data (flat pack stamps, sizes, and event data into a single buffer).
Eliminate a double-copy on MIDI playback (MidiRingBuffer -> MidiBuffer).
Various MIDI diskstream/source/SMF fixes (only write when appropriate, handle transport locates, etc).
Fix MIDI rec region size/offset problems.
Code cleanups.


git-svn-id: svn://localhost/ardour2/trunk@1934 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-31 21:37:20 +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