13
0
Commit Graph

184 Commits

Author SHA1 Message Date
7703f0a76a move generic parts of Keyboard into gtkmm2ext. imperfectly done, but makes modifiers available in libgtkmm2ext now
git-svn-id: svn://localhost/ardour2/branches/3.0@6288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 22:51:32 +00:00
c83e48e07a Trim session.h include dependency tree.
git-svn-id: svn://localhost/ardour2/branches/3.0@5979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30 15:30:22 +00:00
0cc0c13444 provide accessors to Editor::snap_{type,mode} ; when nudging notes, use grid in preference to nudge clock
git-svn-id: svn://localhost/ardour2/branches/3.0@5934 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-26 23:43:04 +00:00
b61e7ad5de Disable canvas verbose cursor for notes, which locks up on note adding sometimes.
The backtrace ain't pretty :/


git-svn-id: svn://localhost/ardour2/branches/3.0@5871 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 21:54:00 +00:00
d98c8e8fa4 Replace horribly error-prone Sequence/MidiModel/MidiSource locking API with scoped locks that automatically Do The Right Thing.
Make Sequence::read_lock const correct in the process (a read lock can be taken out on a const Sequence, but not a write lock).


git-svn-id: svn://localhost/ardour2/branches/3.0@5857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 16:15:36 +00:00
214a31bb98 Fix various MIDI control and installation issues:
* Install ardour3_ui_default.conf to system config dir

 * Set -DDATA_DIR etc. defines to proper absolute paths

 * Set default MIDI control port name to "control"
   (it was "control" some places, "default" other, so the generic MIDI
   control surface didn't work.  The real problem here is probably that
   the name is hardcoded in the surface code, ick)

 * Install surfaces to correct system directory

 * Generate and install ardour_system.rc

User POV:

 * Installed versions not run from the source directory discover configuration
   files and surfaces, and generally work

 * Building and/or starting a fresh copy of ardour3 with no pre-existing
   configuration will run an ardour with a single MIDI "control" port, which
   you can plug a surface into and control MMC and controllers and such
   (after turning on the generic MIDI surface, which IMO should be loaded
    by default anyway, especially since it's no longer in a menu)


git-svn-id: svn://localhost/ardour2/branches/3.0@5833 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 23:43:19 +00:00
cb8407d26f Use set over vector for Sequence::Notes, for logarithmic search by time.
git-svn-id: svn://localhost/ardour2/branches/3.0@5798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 15:23:42 +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
cd32030762 fix up dragging notes in percussive mode
git-svn-id: svn://localhost/ardour2/branches/3.0@5749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-07 15:05:52 +00:00
Carl Hetherington
c5e3ff16cb Fix some compiler warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5746 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06 23:58:29 +00:00
aefcce1c99 ogg/flac support bits and pieces; fix up MIDI note dragging and front-edge trims; BROKEN IN PERCUSSIVE MODE FOR NOW
git-svn-id: svn://localhost/ardour2/branches/3.0@5745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06 22:07:10 +00:00
Carl Hetherington
7b14a4230b Fix some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-15 15:23:59 +00:00
93bc6e5b58 fix note selection behaviour, hopefully ... perhaps
git-svn-id: svn://localhost/ardour2/branches/3.0@5657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-12 16:46:19 +00:00
d98302ae2c track note on/off and send appropriate note offs at transport stop
git-svn-id: svn://localhost/ardour2/branches/3.0@5655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-11 13:25:31 +00:00
42e1e00f06 add step-rest keybinding for step editing
git-svn-id: svn://localhost/ardour2/branches/3.0@5653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10 22:20:37 +00:00
2ff1cd99af do not crash when loading old history files with MIDI edits; add all notes in region to canvas, but pay attention to visibility
git-svn-id: svn://localhost/ardour2/branches/3.0@5652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10 21:19:01 +00:00
7b8adc78b6 more MIDI editing cleanups, mostly fixing subtleties. Will break loading the history file for older sessions with MIDI editing present - we warned you :)
git-svn-id: svn://localhost/ardour2/branches/3.0@5651 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10 20:41:08 +00:00
5f319d0a08 re-use canvas note items when the model changes ; slightly more efficient (probably) and avoids invalidating references to said items in, for example, ResizeData in a copied region
git-svn-id: svn://localhost/ardour2/branches/3.0@5650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-09 16:46:18 +00:00
5328a114c9 time line items now have 64 bit location + duration; start making note resize apply across regions
git-svn-id: svn://localhost/ardour2/branches/3.0@5642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-09 02:09:04 +00:00
1bf79fa885 move note drag & note resize mouse handling up into the Drag/Editor infrastructure/level
git-svn-id: svn://localhost/ardour2/branches/3.0@5641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-08 21:45:44 +00:00
539c8361de use diff commands for quantize, with infrastructure changes as required
git-svn-id: svn://localhost/ardour2/branches/3.0@5639 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-07 16:53:53 +00:00
79dc191d6b add anonymous union to DiffCommand to allow uint8t_t and time-based arguments; use DiffCommand for note trimming
git-svn-id: svn://localhost/ardour2/branches/3.0@5638 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-07 13:38:06 +00:00
837bfc9af4 the start (only the start) of MIDI diff commands
git-svn-id: svn://localhost/ardour2/branches/3.0@5637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-06 18:11:55 +00:00
c3c5c9a559 just one timeout callback for step editing, not one per track
git-svn-id: svn://localhost/ardour2/branches/3.0@5635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-05 14:11:48 +00:00
b7fe417f70 better way to "engage" step edit, and extend region correctly as needed
git-svn-id: svn://localhost/ardour2/branches/3.0@5630 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-03 14:50:21 +00:00
b0b584c2a5 the basics of step editing, more details to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@5629 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-03 12:39:50 +00:00
e7e071db1a more MIDI editing tweaks ; flip mouse mode buttons around for MIDI so that "object" mode is the most likely mode for both region \& region editing ; frame handle events (from lincoln's region trimming patch) are now handled more explicitly
git-svn-id: svn://localhost/ardour2/branches/3.0@5600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-28 16:06:08 +00:00
3845af6ce9 lots of MIDI editing stuff. to be explained on the website when its done
git-svn-id: svn://localhost/ardour2/branches/3.0@5596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-27 03:09:30 +00:00
b116282bbb make shift-click for extend-selection sort-of work for MIDI
git-svn-id: svn://localhost/ardour2/branches/3.0@5541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-18 02:37:57 +00:00
3162ffb4f4 move assignments out of assert() in editor_drag (thanks lincoln); change mouse mode buttons when in internal/MIDI mode; arrow key control of note velocity, value and position - hey look ma, MIDI editing!
git-svn-id: svn://localhost/ardour2/branches/3.0@5539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-17 15:58:47 +00:00
e3ac55f7b1 fix up display of notes when creating/editing a MIDI region with the pencil; fix position of paste for regions that are not at frame zero
git-svn-id: svn://localhost/ardour2/branches/3.0@5527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-14 03:00:41 +00:00
e57c4d4c43 more MIDI paste improvements, plus move region-mute binding to PRIMARY-m and use "m" for toggle-internal-editing
git-svn-id: svn://localhost/ardour2/branches/3.0@5525 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 19:48:10 +00:00
84fb6ae9ba actually paste MIDI at the right spot
git-svn-id: svn://localhost/ardour2/branches/3.0@5521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 12:19:28 +00:00
02e3f7c769 kinda-sorta paste MIDI at the right spot
git-svn-id: svn://localhost/ardour2/branches/3.0@5519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 12:10:34 +00:00
0178875021 MIDI cut&paste round two (not done yet); a small region trim fix from lincoln s.
git-svn-id: svn://localhost/ardour2/branches/3.0@5517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 01:57:03 +00:00
0bf3eb7759 first part of MIDI cut/copy/paste ; fix for input/output_streams of an IOProcessor being reported in a misleading way; in/out translation fix from 2.X, sort of
git-svn-id: svn://localhost/ardour2/branches/3.0@5510 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-10 19:29:29 +00:00
3ae28868ff remove all MIDI-specific editing modes by making standard work either at object level or within (e.g. notes, etc) ; make tool buttons proxies for GtkActions ; internal sends have their own BufferSet now, instead of using Session ones; don't make internal sends to the monitor bus active when added to the Route
git-svn-id: svn://localhost/ardour2/branches/3.0@5434 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-28 20:51:28 +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
7f3e6769b3 Fix a drag crash and some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5135 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09 15:46:33 +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
Nick Mainsbridge
72f1209520 Use pixbufs as region name labels rather than Gnome::Canvas::Text. Don't set height on every regionview in non-stacked mode in StreamView::add_region_view (speeds up some playlist operations).
git-svn-id: svn://localhost/ardour2/branches/3.0@5071 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-13 15:33:41 +00:00
006d3a9f46 Fix note dragging.
git-svn-id: svn://localhost/ardour2/branches/3.0@5049 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 00:57:08 +00:00
6c93b8c44f Remove useless/broken concept of 'erase touch dragging'.
git-svn-id: svn://localhost/ardour2/branches/3.0@5048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 00:18:21 +00:00
7863c03cfc Make MIDI note editing work somewhat again...
Only show note velocity text when the user is actually editing velocity.


git-svn-id: svn://localhost/ardour2/branches/3.0@5047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 00:08:30 +00:00
03536cd399 Fix a bunch of warnings.
Clean up.


git-svn-id: svn://localhost/ardour2/branches/3.0@4668 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 00:58:35 +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
c9582da233 Make source length a dynamic thing.
Update MIDI region length (actually and visually) when position changes.


git-svn-id: svn://localhost/ardour2/branches/3.0@4644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-20 00:30:42 +00:00
0f71728a92 Interpret tempo time based on read position (not source timeline position which is more or less meaningless).
Move time conversion into the region view rather than the source.
Adapt MIDI (including controllers) regions to the destination tempo when moved (e.g. dragging a region to a location with half the tempo will make the notes twice as long).


git-svn-id: svn://localhost/ardour2/branches/3.0@4635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 04:12:54 +00:00
b857756f60 Remove unnecessary/unused template parameter from canvas sysex flags.
Add license headers to canvas sysex files (tsk, tsk).


git-svn-id: svn://localhost/ardour2/branches/3.0@4610 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 02:19:16 +00:00