Commit Graph

36091 Commits

Author SHA1 Message Date
Ben Loftis 374ff2b12d fix thinko in unbang behavior 2022-10-03 13:47:55 -05:00
Paul Davis fe0cde3781 route group dialog grabs focus when shown 2022-10-03 12:15:43 -06:00
Robin Gareus aedf697646
Fix crashes due to missing return value
due to -fomit-frame-pointer a missing return value leads
to stack corruption. This also fixes the return type.
2022-10-03 19:38:30 +02:00
Robin Gareus a0a2138651
Highlight auditioned clips
This changes the color of auditioned clips in the clip-list.
The highlight is reset when changing folders or when importing
a clip via DnD.
2022-10-03 01:19:50 +02:00
Robin Gareus 61fc46ff79
Fix missing Lua bindings
* RecordMode is required for Session Config set/get_record_mode.
* TempoMap::dump requires C++ std::ostream&
2022-10-02 14:33:06 +02:00
Robin Gareus 9ed82713de On popular demand, hide splash instead of push it back
Sadly some popular Window Managers do not follow
freedesktop.org specifications.  This results in Ardour's splash
screen obscuring session setup dialogs on those systems.
2022-10-01 19:38:43 +02:00
Robin Gareus 0f6a2f7320 Remove unneeded scope 2022-10-01 19:01:49 +02:00
Robin Gareus 0b70550b42 Fix width of draw-grid dropdown menu 2022-10-01 19:01:30 +02:00
Robin Gareus 751de3889e Fox grid dropdown menu width
Take submenu items into account, which have strings longer than
GridTypeBeatDiv32 text
2022-10-01 18:53:45 +02:00
Robin Gareus a626f1f0d5 Synchronize grid menus (#8973) 2022-10-01 18:04:30 +02:00
Robin Gareus 891b561cad Cleanup: use dedicated method to build draw menu 2022-10-01 18:03:03 +02:00
Robin Gareus 8f125a0ab4 tracks is no more 2022-10-01 17:37:38 +02:00
Robin Gareus 04647d5ae5 More unit-tests updates
* move RangeTest to libtemporal tests
* remove BeatsTest,  already converted from
  Evoral to temporal/BeatTest.cc
2022-10-01 16:57:12 +02:00
Ben Loftis 42a4216f22 osc: publish session-provided trigger functions: bang/unbang 2022-10-01 09:13:14 -05:00
Ben Loftis 7fe7adb83c push2: adapt to new unbang and 'stop' semantics (needs testing) 2022-10-01 09:13:14 -05:00
Ben Loftis 6c292a83da basic_ui: use session-provided bang/unbang functions 2022-10-01 09:13:14 -05:00
Ben Loftis 29dc388bbc triggerbox: change bang/unbang semantics. UnBang != Stop
'unbang' is better described as a mouse-up or button-release event

* if launch-style is Gate or Repeat, then UnBang will stop the playing clip
* in other launch-styles, UnBang is ignored

some prior code using UnBang will change to
  stop_quantized()  or  request_stop()
2022-10-01 09:13:14 -05:00
Ben Loftis 2829f4385f triggerbox: publish some trigger functions to ::session (for the convenience of control surfaces)
Grid controllers will largely want to access clips in the order they appear on the Cue page

It is up to the device (and/or its ControlProtocol) to handle banking
2022-10-01 09:13:14 -05:00
Ben Loftis 07f47ff6a5 remove unimplemented bang_trigger() and replace with bang_trigger_at(n)
normally we operate on TriggerPtr's which are a safe way to track
 trigger lifetime, safely modify their properties, and launch them.

bang_trigger_at() is a convenience function to look up a trigger by index,
 and launch it, in one step.  Potentially useful for control surfaces.
2022-10-01 09:13:14 -05:00
Ben Loftis 1e283adb22 disambiguate trigger functions: stop_all_triggers -> trigger_stop_all 2022-10-01 09:13:14 -05:00
Ben Loftis 75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
Ben Loftis ddfefa2583 remove some debug printfs 2022-10-01 09:13:14 -05:00
Ben Loftis be28c9ff88 osc: add functions to trigger cue rows, and stop all triggers 2022-10-01 09:13:14 -05:00
Alexandre Prokoudine 9af2c31d6b Update Russian translation, part 3 of N 2022-10-01 14:29:03 +03:00
Robin Gareus c09e66bb25 Fix apple/ARM FPU test, allow for FLT_EPSILON for unaligned math 2022-10-01 06:28:07 +02:00
Robin Gareus 49f7e4d447
Amend 07dea50456 (DnD import, copy to track) 2022-10-01 03:38:34 +02:00
Robin Gareus 61d192723a
More windows build fixes (see prev. commit) 2022-10-01 03:01:03 +02:00
Robin Gareus 1684b1b99a
Fix Windows build
Add cross DLL/exe reference
undefined reference to `luabridge::ClassInfo<boost::shared_ptr<ARDOUR::Track> >::getClassKey()
2022-10-01 02:49:25 +02:00
Paul Davis b2145521d9 triggerbox: handle tempo map changes better inside and around MIDI triggers
We now try to get to the right location within the MIDI data and continue
playing, rather than pretending that we reached the end.

This also fixes a thinko that caused only the first few notes of a
MIDI trigger to play.

This may also solve cases where due to length, sample rate and tempo
settings, a trigger finished precisely on a ::run() call boundary.
2022-09-30 17:23:41 -06:00
Paul Davis 4f7c1aba24 libardour: infrastructure for notifying routes of tempo map change
The call to the Session is made before we call ::process(), from the
AudioEngine. Currently, only MIDI triggers care about this.
2022-09-30 17:21:43 -06:00
Paul Davis 173de9f0ef change MidiRegionView scroll behavior to somethings slightly more useful
1. leave tertiary-scroll for navigation and primary scroll for session timeline zoom
2. unmodified scroll in edit mode scrolls contents
3. secondary-scroll zooms in and out on contents (i.e. vertical zoom for MIDI)
4. primary-secondary scroll has the just-one-edge behavior previously provided
2022-09-30 16:32:29 -06:00
Robin Gareus 07dea50456
Fix DnD import to grouped tracks
Import via Drag/Drop previously worked by selecting a track,
and then importing to the selected track.

This approach fails when the selected track is in a track-group,
and selecting the track also selects other tracks of different type.

Now the track to drop onto is passed directly passed through to
::finish_bringing_in_material as existing_track.
2022-09-30 21:30:48 +02:00
Robin Gareus 20088062bb
Allow to create a `shared_ptr<Track>()` from Lua
This is relevant for an upcoming API chnage where `do_import`
requires a boost::shared_ptr<ARDOUR:Track>.
2022-09-30 21:30:48 +02:00
Alexandre Prokoudine fdac3cb01c Mark one last slot property box title for translation (string freeze break) 2022-09-30 09:04:56 +03:00
Alexandre Prokoudine 20b0b2b2a7 Update Russian translation, part 2 of N 2022-09-30 09:01:35 +03:00
Alexandre Prokoudine 384450c587 Update Russian translation, part 1 of N 2022-09-30 09:01:35 +03:00
Robin Gareus a520adff62 Better version for d70ebde (compare timepos_t directly) 2022-09-30 04:57:09 +02:00
Robin Gareus d70ebde1dc
Fix compilation of evoral unit-test
Some of these tests should be moved to libtemoral.
On 64bit Linux the tests pass, except various RangeTests.
2022-09-30 04:04:48 +02:00
Robin Gareus 9a34d15b3c
Fix crash when disabling generic MIDI surface
The event-loop has to be stopped before unregistering ports
and deleting the instance.
2022-09-30 01:58:24 +02:00
Robin Gareus d0b490d1b7
Update Lua Convolver API
* allow to update IR data
* allow to use mono processing in base-class
  This is handy for FIR (Readable/ROM), and operating directly
  on local data (ratherer than mapped buffers)
2022-09-29 23:44:42 +02:00
Paul Davis ea1dfa5d80 mark slot property box titles for translation (string freeze break) 2022-09-28 16:45:27 -06:00
Robin Gareus 2d6e5d4638 Fix building unit-tests on macOS 2022-09-28 23:05:56 +02:00
Robin Gareus dc90ec4e33
Add additional Lua TempoMap bindings 2022-09-28 18:47:55 +02:00
Robin Gareus 8b84a0c36f
Add explicit BBT_Offset print function (like timeline.h has) 2022-09-28 18:46:58 +02:00
Robin Gareus d1d125ba7b Fix Window menu (action name change in 0d5fd0d) 2022-09-28 04:26:54 +02:00
Robin Gareus c8ddfd5637 Fix C++ memory layout for the TempoMap
Usually C++ class instance has the same mem address as its first parent.
LuaBridge uses this to for derived classes. A TemopPoint instance has
the same address as its parent Tempo. However due to virtual inheritance
this was not the case due to a lack of virtual d'tor.

Now the following Lua code works correctly
```
tm = Temporal.TempoMap.read()
tp = Temporal.timepos_t (0)
print (tm:tempo_at(tp):note_type())
```

Previously the last line failed calling Tempo::note_type()
on a TempoPoint instance, due to memory offset e.g.
TempoPoint: 0x600000ff90e0 Tempo: 0x600000ff90e8
2022-09-28 04:12:11 +02:00
Robin Gareus 76c0f42ecb
Second round of Lua script API updates 2022-09-27 20:00:50 +02:00
Robin Gareus 1abf6a77d6
Even more Lua bindings 2022-09-27 20:00:50 +02:00
Paul Davis 0d5fd0de0c rename "library manager" to "library downloader everywhere (breaks string freeze) 2022-09-27 11:22:56 -06:00
Paul Davis 577c21776a fix position of imported tempo markers from SMF files 2022-09-27 09:32:19 -06:00