Commit Graph

1181 Commits

Author SHA1 Message Date
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
Paul Davis ac53a9bbf8 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) 2021-05-03 17:40:41 -06:00
Robin Gareus 39334279b5
LAN for ranges 2021-04-13 00:10:38 +02:00
Robin Gareus 1bffdfc334
Open add-route dialog on double-click or context-click 2021-03-28 20:39:34 +02:00
Robin Gareus e81794d878
Add preference to keep spilled automation-lanes visible 2021-03-02 19:00:23 +01:00
Robin Gareus f8ba27f417
Work around crash #8586
MidiRegionView::select_notes() may call MRV::add_to_selection
which may call editor().get_selection().clear ();
This in turn clears the pending_midi_note_selection, invalidating
iterator.

This bug was introduced in 7cf435a876 (6.5.148)
2021-02-28 14:58:18 +01:00
Robin Gareus 835f30e5f5
Consistency: replace "x-run" with "xrun" (2/2) 2021-02-26 22:22:57 +01:00
Ben Loftis 7e196e7559 snap-revisited: Fix occasional variance between the visible ruler and the snap grid
code changes:
  bbt_ variables don't need to be global to editor; we only use these in compute_bbt_ruler_scale now anyway
  drive the ruler with the same coarse-ified bbt_ruler_scale that we calculate for the snap grid
2021-02-20 10:35:36 -06:00
Ben Loftis d644bb16f6 snap-revisited: Add finer (64ths and 128ths) Ruler scalings to match those Grid selections 2021-02-20 10:35:36 -06:00
Robin Gareus 4f605926c5
Tweak automation-lane auto-display
Hide lanes when touching a control when the editor is not
visible or if the option is disabled.
2021-02-09 17:41:53 +01:00
Robin Gareus 01bb38d99e
Add option to en/disable showing automation-lane on touch 2021-02-09 02:11:09 +01:00
Robin Gareus cf6e785ed3
Move Playlist GUI functions to RouteUI
This allows to re-use playlist editing in all RouteUI derivatives,
not just the main editor time axis header.

The change is mostly a NO-OP, simply moving methods from
RouteTimeAxisView (is-a RouteUI), to RouteUI.
2021-01-26 01:54:33 +01:00
Robin Gareus 4769c387f3
Expose EditorCursor via public editor API
This is in preparation to subscribe to playhead cursor position
changes in the recorder-UI.

This change also clean up the API, replacing a public variable
with a const access method and follows #12 of
https://ardour.org/styleguide.html
2021-01-08 18:39:56 +01:00
Robin Gareus e85ae7f9a6
Verbose cursor audio region peak display
https://discourse.ardour.org/t/is-it-possible-to-view-audio-levels-in-db-by-moving-cursor-over-a-waveform/105199
2020-12-30 13:42:42 +01:00
Robin Gareus 818a81aa40
Prepare removing static selection API 1/2 2020-10-18 14:28:38 +02:00
mx 353ac8e106
Use soundtouch for vocal audio time stretching (2/2) 2020-08-26 19:05:51 +02:00
Robin Gareus 4ad1c19166
Special case MIDI note selection auditioning - #8358
This adds a few exceptions to the general preference
"Sound MIDI notes as they are being selected in the editor".

* Select all no longer plays _all_ notes.
* Remain silent when selection is inverted or a range is selected.
* Play no sound when a saved selection is restored on session load.
2020-08-09 20:37:56 +02:00
Robin Gareus 02a31b97b2
Add Loudness Assistant to session menu 2020-07-23 04:11:47 +02:00
Robin Gareus fced1a5dc1
Cont'd work on Loudness Assistant
* use relative gain for analysis
* allow to select constraints
* tweak UI layout, use monospace font
2020-07-22 03:26:58 +02:00
Robin Gareus aa9c5737cc
GUI support to en/disable master-bus output gain control 2020-07-21 05:51:56 +02:00
Robin Gareus 239319c214
Initial prototype for session loudness #8318 2020-07-20 03:37:14 +02:00
Robin Gareus 485ac45477
Fix region boundary cache lookup segfault
When the cursor position is after the last item in the vector,
upper_bound returns the last given iterator, here:
`region_boundary_cache.end()`, which is invalid to dereference.

Furthermore prevent possible  duplicate prev/next pair at zero,
when using the video-timelime.
2020-04-22 22:37:43 +02:00
Robin Gareus 14a2a50e93
Simplify snap-to magnetic distance calc 2020-04-05 20:24:11 +02:00
Robin Gareus 6b9bdbf0ff
NO-OP: cleanup snap-to code, mostly whitespace 2020-04-05 20:24:11 +02:00
Robin Gareus a6c9c04fd6
Hide snap cursor when not using mouse edit #7966 2020-04-01 22:55:06 +02:00
Robin Gareus 75adc33629
Remove unused variable 2020-04-01 22:55:06 +02:00
Paul Davis b7e30cfc24 remove debug output 2020-03-30 17:37:10 -06:00
Paul Davis 04635896d4 add braces as per coding guide 2020-03-30 17:25:07 -06:00
Paul Davis 6fec78221f use const ref to UIConfiguration::instance() to shorten lines a bit 2020-03-30 17:25:07 -06:00
Robin Gareus 4162f0f1ba
Fix snap if there are no locations - amend 4a036a2da 2020-03-30 18:16:09 +02:00
Ben Loftis 4a036a2daa Grid: explicitly check for empty marker list (fixes: grid fails if no start+end markers yet) 2020-03-28 08:10:36 -05:00
Paul Davis 25c0bd9274 Prevent updates to the playhead when a locate is pending after a drag/click is used to move the playhead.
There are two problem cases:

  1) the drag "fake-located" the playhead, but a redraw happens before the locate itself finishes.
  2) the transport emits Session::PositionChanged from Session::non_realtime_stop(), even though
     this is occuring in the "middle" of the locate process (we stop first).

In the first case, the drag code sets _pending_locate_request, since we need this to be true even
before the queued SessionEvent for the locate has been processed. So to deal with this case

In the second case, we use Session::locate_initiated() to decide if we're in the middle of a locate.
2020-03-25 18:39:59 -06:00
Todd Naugle f49aedaa39 Fix odd right click crash on master track.
To reproduce. Launch, right click in ruler area then drag down
until over the master track and let go.

#0  0x0000555555ba1d44 in boost::shared_ptr<ARDOUR::Route>::get() const (this=0x8) at /usr/include/boost/smart_ptr/shared_ptr.hpp:748
#1  0x0000555555ba0a2f in boost::dynamic_pointer_cast<ARDOUR::Track, ARDOUR::Route>(boost::shared_ptr<ARDOUR::Route> const&) (r=...)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:904
#2  0x000055555650b92b in RouteUI::track() const (this=0x0) at ../gtk2_ardour/route_ui.cc:1885
#3  0x0000555555d0b92f in Editor::popup_track_context_menu(int, int, ItemType, bool) (this=
    0x555557a3efd0, button=1, time=600214966, item_type=StreamItem, with_selection=false) at ../gtk2_ardour/editor.cc:1595
#4  0x0000555555e1a4cf in Editor::button_release_handler(ArdourCanvas::Item*, _GdkEvent*, ItemType) (this=0x555557a3efd0, item=
    0x555557b2fe00, event=0x7fffffffc310, item_type=StreamItem) at ../gtk2_ardour/editor_mouse.cc:1543
....
2020-03-03 13:49:04 -06:00
Paul Davis 42630f145a include a LocateTransportDisposition argument when Editor initially locates
Not clear if the editor really needs to make this call at all
2020-01-20 11:14:28 -07:00
Paul Davis 47767738b9 rename DoTheRightThing to RollIfAppropriate 2020-01-18 08:49:18 -07:00
Paul Davis 3c00048b0c Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
Robin Gareus a62df60760
Replace some Gtk:MessageDialog with Ardour's variant
This fixes some issues with stuck splash screen early on.
2020-01-15 22:08:42 +01:00
Ben Loftis 85485d4832 Allow the Cut tool to appear in Mixbus. 2019-09-29 10:12:00 -05:00
Paul Davis 468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -06:00
Robin Gareus ca4b6bb7e9
NO-OP: fix some Wimplicit-fallthrough, see prev commit 2019-09-18 17:38:01 +02:00
Len Ovens 64fd7a7511 Foldback bus should not appear in editor 2019-08-26 19:01:19 -07:00
Robin Gareus 7859340191
Consolidate code, skip editor/mixer update check 2019-08-24 18:37:28 +02:00
Robin Gareus 629289dc4a
Fix crash when selected automation-lane is removed
When a plugin is deleted, automation-lanes of the given plugin
are removed, but previously a pointed to the deleted lane remained
in the selection.

This caused crashes later when the track selection is used. e.g.
during sensitize_the_right_region_actions()

Note that ~TimeAxisView() also emits CatchDeletion (this);
however "this" fails to be dynamic_cast<AutomationTimeAxisView*>
because that d'tor has already been completed.
2019-08-24 18:24:21 +02:00
Robin Gareus f4897bb475
Re-order editor sidebar: prioritize "Tracks & Busses" 2019-08-12 18:36:26 +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
Ben Loftis da3d8e5418 (Source List) Implement insert-region action... now uses the Source List. 2019-08-01 12:11:31 -05:00
Ben Loftis 71c2ed8160 (Source List) Source list, Region List: Resolve various action+behaviors between the 2 lists.
Duplicate the remove_unsued_region action in the Session->Cleanup menu, for discoverability.
Region list should use the same Region actions as the canvas...
OK, now resolve the change in use-cases of Region List and Source List.  tentative.
Rough-in remove_selected_sources (Delete in Sources list).
Column tweaks.
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
Ben Loftis 90962d3426 (Source List) Source property signals (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 8017a7fc1e
Backport Mixbus toolbutton layout 2019-04-09 03:16:09 +02:00