Commit Graph

53 Commits

Author SHA1 Message Date
Robin Gareus 41115f1282
Prevent double-click on the pianoroll to toggle track height 2024-03-27 03:25:36 +01:00
Paul Davis 07407c4e7c add a tooltip to describe ops on the pianoroll header, incl note select 2024-01-31 14:39:03 -07:00
Paul Davis 2e4ceaf34d conform to platform expectations for scroomer select mouse ops 2023-10-18 10:14:34 -06:00
Paul Davis 71ba96aa3b improve/fix mouse click logic on piano roll header
ctrl-click now toggles that note row's selected status, as intended
2023-10-18 09:29:39 -06:00
Paul Davis 3166ca7ffd only UI scale the scroomer itself, not the kbd header 2023-09-26 11:33:48 -06:00
Paul Davis 6f802015d7 scroomer should follow UIConfiguration's max note height setting 2023-09-25 18:40:12 -06:00
Paul Davis b711da9153 scroomer prelight and handles 2023-09-25 11:01:22 -06:00
Ben Loftis 53ccede4fb make piano-keyboard colors theme-able 2023-09-15 17:40:56 -05:00
Paul Davis f5d3b1c79f use new user-immediate API in GUI 2023-09-13 23:58:31 -06:00
Paul Davis 5644c8587e only show scroomer note names in draw/internal edit modes (if at all) 2023-09-13 11:53:18 -06:00
Paul Davis d064a2ead1 keep highlighted note in correct place when scrolling 2023-09-11 14:29:03 -06:00
Paul Davis de45fc3882 make scroomer color & opacity themeable 2023-09-11 13:52:31 -06:00
Paul Davis d1caa2401f the return of double-click on scroomer zooms to data-based note range 2023-09-11 13:16:27 -06:00
Paul Davis 776d8590f9 fix crash when opening a session created before the midnam-channel GUI property existed 2023-09-10 18:20:35 -06:00
Paul Davis 194f0fbed6 finalize (?) some details of note name display options 2023-09-10 18:20:35 -06:00
Paul Davis df95ec6b43 partial response to note name display option 2023-09-10 18:20:35 -06:00
Paul Davis 71f168834d obey note name display preference 2023-09-10 18:20:35 -06:00
Paul Davis 5611e7eeed tweak gradient width in scroomer area 2023-09-10 18:20:35 -06:00
Paul Davis a3838f0c66 alex mitchell's piano roll header: add correct motion event handler 2023-09-10 18:20:35 -06:00
Paul Davis baa32aa5bd merged commit from alexander mitchell, implementing a new piano roll header 2023-09-10 18:20:35 -06:00
Paul Davis ec7d502959 cairo single pixel line offset fix, part 2
This will need careful visual inspection of the items drawn by the
affected code to make sure they are still precisely as intended
2023-07-17 20:55:13 -06:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Ben Loftis 252ae56a08 MIDI Draw: change behavior regarding MIDI Channel of new notes
When adding a note, use these criteria to choose the channel number:
* if the user has explicitly specified a note in the pulldown, use that
* if the user has AUTO selected and we are in a region, choose the nearest note's channel (consistent with velocity behavior)
* as a fallback, query the track for its channel-filter (old behavior)
2021-11-18 08:23:08 -06:00
Robin Gareus c5d7ed3015
Update GUI, use new write_immediate_event() API 2020-09-20 19:16:52 +02:00
Robin Gareus 151ca86fd6
NO-OP: whitespace 2020-08-27 02:22:42 +02:00
Robin Gareus c0f9710537
Keep auditioning notes when piano roll header has focus #8374 2020-08-27 02:22:36 +02:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Robin Gareus 4aeb086fe3 Scale scommer and piano-keyboard width with GUI 2017-05-04 17:22:43 +02:00
Robin Gareus 22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Robin Gareus 344c435dae cont'd work on piano roll highlighting. 2015-08-15 05:13:14 +02:00
Robin Gareus f2495d9808 Highlight note in piano roll - #6510 2015-08-15 03:08:55 +02:00
Ben Loftis d02d8e6ebc temporarily remove buggy MouseRange-on-Piano-Roll event handlers 2015-05-18 16:12:32 -05:00
David Robillard f4a30e1f60 Support keyboard shift-click to select many notes.
Also support selecting with button 1 if shift is held, more discoverable.
2014-12-06 22:43:06 -05:00
Robin Gareus 1f313ec19c Vertically align Midi Notes, Piano Roll & Canvas Line Grid 2014-09-08 18:44:32 +02:00
Paul Davis 4f9e46976c make middle-click on piano roll track header more usefully select/unselect notes 2013-10-23 10:38:50 -04:00
Paul Davis 5de9a8f38b make mouse range mode do something interesting when in internal/note edit mode. not entirely finished because the usual modifiers to add/extend the selection don't work correctly. note that this works both on the scroomer (where the modifiers do work correctly) and in the track (where they do not)
git-svn-id: svn://localhost/ardour2/branches/3.0@11273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 02:54:23 +00:00
David Robillard ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Carl Hetherington 711db34a81 Remove MIDI track default channel and its menu, and choose the channel for new notes using MidiTimeAxisView::get_channel_for_add() (fixes #3998 and #3865).
git-svn-id: svn://localhost/ardour2/branches/3.0@9585 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25 15:19:47 +00:00
Carl Hetherington 2a1844a28e Fix piano roll to use the same octave numbering as the verbose canvas cursor (#4015).
git-svn-id: svn://localhost/ardour2/branches/3.0@9458 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-02 22:34:44 +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 d9101a1561 Small refactoring; fix stuck notes on the sequence LMB down, RMB down, LMB up, RMB up (#3824).
git-svn-id: svn://localhost/ardour2/branches/3.0@9114 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-09 18:13:12 +00:00
Paul Davis 2e30bdba9f select-by-pitch from the piano roll header (inspired by Rosegarden); some improvements underway to controller/automation menu, but still broken there
git-svn-id: svn://localhost/ardour2/branches/3.0@6466 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-07 19:15:33 +00:00
Paul Davis 64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
David Robillard 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
Paul Davis 9867035f29 make MIDI thru work even when not rolling; add GUI control over MIDI thru (midi track context menu); add "default channel" concept for MIDI tracks so that piano roll header events can send stuff on the right channel; add GUI control over this channel setting
git-svn-id: svn://localhost/ardour2/branches/3.0@5687 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-25 19:00:34 +00:00
Carl Hetherington b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +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
David Robillard 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
David Robillard 1380f4fafb Trim include dependency tree (particularly on evoral/Sequence.hpp).
git-svn-id: svn://localhost/ardour2/branches/3.0@4589 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 23:47:09 +00:00