Commit Graph

210 Commits

Author SHA1 Message Date
luz paz 364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Ben Loftis b3f524a78a Ruler markers: less drastic highlights in ruler bars 2022-01-21 19:25:33 -06:00
Ben Loftis d50e854b05 Rulers: restore theme-ing of ruler bars (reverts much of 60cb) 2022-01-21 11:30:14 -06:00
Ben Loftis 60cbe57a6e Marker Rulers: changes to match mini-timeline aesthetic
Highlight ruler lanes when you enter, instead of showing many lines
2022-01-20 18:59:21 -06:00
Robin Gareus 50bccb44d5
Add static meta-data for x-ardour/region.pbdid DnD
During drag-motion callbacks the data to be dragged is n/a.
However we like to discriminate if drop is possible.

When dragging regions, the data-type of the region to be dragged
is unknown, so different `x-ardour/region` targets are not an
option, either.

Until a better option is presented, a static global is used
to set the data-type for region.pbdid drags.
2022-01-19 17:13:51 +01:00
Robin Gareus 0204ea1f24
Unify Region Drag/Drop
Identify Regions using PDB::ID. This allows dragging regions
from almost anywhere to anywhere, without special cases.
2022-01-19 17:13:51 +01:00
Robin Gareus 056189c76c
Clean up DnD, use MIME-types
This is in preparation for allowing to drag trigger-regions
or trigger-slots. Those will not use a static singleton
PublicEditor API.

Additionally this constrains Ardour-internal drags to Ardour
(via Gtk::TARGET_SAME_APP).
2022-01-10 21:29:29 +01:00
Paul Davis b1f73d25bf actual GUI interaction for cue marker ruler 2022-01-04 15:23:51 -07:00
Paul Davis 77d83540b1 copy-n-paste addition of cue marker ruler (based on cd marker ruler) 2022-01-04 15:23:51 -07:00
Paul Davis 139a051b18 remove default args to Session::new_midi_track() (gui edition) 2021-08-13 12:51:36 -06:00
Paul Davis 4f1ad4ed0d start adding new BBT marker support 2021-08-13 12:51:34 -06:00
Paul Davis 2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
Paul Davis 04e8dbb342 another day of slow timeline type conversion 2021-08-13 12:51:29 -06:00
Robin Gareus 5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus fddecc11ec
Remove unrelated enum cases (-Wenum-compare-switch) 2021-03-17 17:44:11 +01:00
Paul Davis 505bd41ad4 do not clear selection when clicking on canvas in internal mode 2020-05-05 14:10:54 -06:00
Robin Gareus bc9b490e90
Fix canvas scroll-event zoom-focus
Unconditionally use the mouse-cursor as zoom-focus when holding
<ctrl> while scrolling on the canvas.
This is consistent with using ctrl + scroll in the ruler area.
2020-04-17 20:51:47 +02:00
Robin Gareus 7ae4e0f7ba
Allow to override zoom-focus to mouse
When Prefs > Editor > Zoom to mouse position... is disabled.
Ctrl + Scroll now allows to override the current zoom-focus,
and zoom in/out at the mouse-cursor position.
2020-04-17 16:16:23 +02:00
Paul Davis 51165aec0b remove some additional debug output 2020-03-25 16:14:25 -06:00
Paul Davis 5d1b75bd4f likely fix for cases where a button release event falls through from the canvas to the editor, during a drag
The drag code expects coordinates in canvas coordinates, but we were not translating them at the editor level (canvas event handling
does do this, but cannot affect the situation if the event falls through to the editor)
2020-03-25 15:30:52 -06:00
Paul Davis dbcd78cf71 more playhead-drag/click locate debugging 2020-03-25 13:18:58 -06: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
Ben Loftis fc981d4399 (Source List) Revert to displaying whole-file Regions instead of Sources.
This preserves the stereo-ness of files that were imported or recorded in stereo.

ToDo  (maybe someday): provide a disclosure triangle that exposes the individual channels in a multichannel region
2019-08-01 12:11:31 -05:00
Paul Davis 98c509cc48 (Source List) NOOP: whitespace cleanup
remove debug output
2019-08-01 12:11:31 -05:00
Ben Loftis b409c58ee6 (Source List) Fix drag-n-drop. 2019-08-01 12:11:31 -05:00
Ben Loftis c12a017728 (Source List) Region Tags (gtk2 part) 2019-08-01 12:11:31 -05:00
Ben Loftis b1019bbbf6 (Source List) Region List rewrite (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-08-01 12:11:31 -05:00
Robin Gareus 01a43c6b1e
Another round of whitespace fixes 2019-04-09 00:27:33 +02:00
Robin Gareus 8a7e452265
Yet another "Rect frame" (not a sample) 2019-04-08 20:57:56 +02:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Ben Loftis 40e2f9a68a CursorZoomDrag rework:
* If the use-time-rulers-to-zoom option is enabled, -all- cursor drags can zoom.
* Behavior has been tweaked so it is easy to scroll without zooming, if you want to.
2017-07-20 09:51:26 -05:00
Thomas Brand 63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
Paul Davis dc0139d4af use CoreSelection for track selection 2017-05-05 18:56:25 +01:00
Robin Gareus 9218ccb3b2 Fix crash when clicking on the canvas while un/loading a session.
GTK events are still handled while un/loading a session (e.g display
"Loading" message or showing the splash triggers an event-loop run).
Global canvas elements (e.g. Rulers) may respond to session-specific
actions.
2017-04-20 19:41:06 +02:00
nick_m abd89ffa7d remove scroll wheel editing nonsense (tempo) 2017-02-27 20:16:10 +01:00
nick_m ccb51a8ddb rework tempo editing.
most changes are due to a new design where tempo discontinuities at the
beginning of a ramped section may be set.
this allows easier mapping of live performance, especially in
the common case of a ramped ritard before the beginning of a new section.

feature summary:

holding constraint modifier (shift) while dragging the BBT ruler area
drags the tempo lines by changing the start tempo (as before)

holding copy modifier (control) while dragging the BBT ruler area
drags the tempo lines by changing the end tempo (ahem. not quite there)

dragging a tempo mark while holding constraint (shift) will change the
previous end tempo to match the marker position *worth trying*.

holding constraint and copy modifier (control + shift) while dragging
the BBT ruler area attempts to'pinch' or twist the surrounding tempi
sp that later ones are not repositioned (currently suffereng from
rounding errors)
2017-02-27 20:16:10 +01:00
nick_m b04f89be51 make dragging a region from the list not crash.
- its still a fake event, but we can at least get the snap correct.

	- playlist->add_region() parameters were whacky
	  (for Playlist::add_region_internal()?)
2017-02-04 22:57:36 +11:00
Robin Gareus 7960e1ddbf GUI follow up for new-MIDI-track API change 2017-01-20 21:47:09 +01:00
Ben Loftis 628c99d555 Follow Edits => Follow Range
* "Follow Edits" button had several behaviors that confused users.
* "Follow Range" only has 2 behaviors:
** Click anywhere in Range mode (or Smart mode) to locate the playhead.
** When you select a Range, "Play" will play the selected range.
2016-12-19 13:14:44 -06:00
Tim Mayberry dac2d41ee2 Add option to zoom using button press in the time rulers and dragging vertically
This is a common operation used for zooming in other DAWs like Ableton Live and
Cubase. To support such a usage pattern without changing the existing behaviour
of the ruler area I've made it an option that is false by default.

The behaviour of RulerDragZoom is intentionally different than a CursorDrag
that occurs in the rest of the ruler area in that it doesn't follow the snap to
grid setting and no locate related stuff occurs until button release.

There are some issues with responsiveness with more than a few hundred regions
or a large amount of MIDI events/notes.

Implements feature #6768
2016-11-11 14:13:53 +10:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
Paul Davis 2c9c210213 manually fix rebase/merge issues caused by addition of plugin presets to methods which add a new track/bus 2016-05-31 15:30:42 -04:00
Paul Davis e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
nick_m 86b0268e8b Tempo ramps - add visualtempo curve, dragging bbt or music rulers with constraint modifier dilates previous tempo. 2016-05-27 23:38:16 +10:00
Robin Gareus cec449871e fix region gain via range tool
Moving the mouse over another region's gain line changed
clicked_regionview.  clicked_regionview is used along with range-time
when initiating an AutomationRangeDrag.
2016-05-25 02:46:57 +02:00
Paul Davis 6991a07902 remove all trace of SAE from source code.
This had become incoherent over time, and posed a development hazard and burden going forward
2016-02-22 15:31:24 -05:00
Tim Mayberry 452e39f8a3 Make horizontal scroll increment consistent in ruler and track canvas areas
In response to a comment in #6722, as there is little delineation between the
ruler and track canvas areas it makes sense to keep the scrolling step the same
to avoid unintended jumps in scrolling if mouse cursor moves between areas.
2016-01-25 17:44:22 +10:00
Tim Mayberry ab292183dd Bug #6722, Add UI config option to always use mouse position as zoom focus on scroll
This means that mouse zoom scrolling behaviour is consistent on the ruler
canvas area and track canvas area.

The config option defaults to true so this means the behaviour of Mixbus will
be unchanged but in Ardour the ruler area will now follow the option so by
default will use the mouse position as zoom focus when zooming rather than the
zoom focus setting.
2016-01-21 11:25:56 +10:00
Tim Mayberry 6ba6cce799 Refactor code into Editor::temporal_zoom_step_mouse_focus method 2016-01-21 11:25:56 +10:00