Commit Graph

382 Commits

Author SHA1 Message Date
Robin Gareus 38c613cd9a Towards arranging sections
This allows to move or copy whole sections of the timline (everything
you hear) to a differnt position on the timeline.

NB. Markers and tempo-map are not yet moved, and interpolated MIDI
events are lost.
2023-01-23 04:07:46 +01:00
Robin Gareus e6230bfd98 Add enum to configure Apple NSGLView mode 2023-01-20 21:46:11 +01:00
Robin Gareus d1ef9947a2
Add Lua bindings to change mute-points 2022-12-12 10:43:59 +01:00
Robin Gareus 85a1c463e5
Add Lua method to show system env
`for v in ARDOUR.LuaAPI.env():iter() do print(v) end`
2022-12-07 00:28:21 +01:00
Robin Gareus c9a9f40987
Add API for Lua DSP to directly set Biquad coefficients 2022-11-01 14:51:07 +01:00
Robin Gareus 5599e136c0
Implement "vicanek" matched biquad filters 2022-10-31 22:47:30 +01:00
Robin Gareus 33348f6332
Fix Windows builds 2022-10-23 06:17:29 +02:00
Robin Gareus 2e860cd10d
Move SimpleExport to libardour, add Lua bindings
This allows to export a session from the commandline tool

```Lua
AudioEngine:set_backend("None (Dummy)", "", "")
s = load_session ("/path/to/session", "snapshot")
assert (s);
e = s:simple_export()
assert (e:check_outputs ())
e:run_export ()
e = nil
```
2022-10-21 19:50:26 +02:00
Robin Gareus a327e01ff3
Fix copy/paste (is_cue_marker Lua binding) 2022-10-21 13:06:22 +02:00
Robin Gareus b52ef52ddf
Allow to filter MixerScene restore by AutomationType 2022-10-18 00:08:35 +02:00
Robin Gareus 08a10b7e84
Replace AutomationControlSet with ControllableSet (1/2) 2022-10-18 00:08:27 +02:00
Robin Gareus aaddf5f385 Add API to restore mixer scenes for given set or Routes only 2022-10-17 06:44:29 +02:00
Robin Gareus 2939ed3164
Add dedicated InsertReturnLevel type
This is preparation for PortInsert Send and Return
level control.
2022-10-14 02:21:49 +02:00
Robin Gareus 830fe4da2f
Add preference enum for plugin GUI unmap behavior 2022-10-08 18:44:16 +02:00
Robin Gareus b4d7ca06b8
Add Luabindings for MPControl (required for VBM) 2022-10-07 18:52:00 +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 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
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
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
Robin Gareus dc90ec4e33
Add additional Lua TempoMap bindings 2022-09-28 18:47:55 +02:00
Robin Gareus 1abf6a77d6
Even more Lua bindings 2022-09-27 20:00:50 +02:00
Robin Gareus 395bf4a650
Cont'd work on nutempo Lua bindings 2022-09-27 13:06:16 +02:00
Robin Gareus f79f3ee301
Remove unused API 2022-09-27 00:40:35 +02:00
Robin Gareus 831fd9c4b2
Amend eb85b336c, remove Lua binding of declared but not implemented method 2022-09-26 23:33:38 +02:00
Robin Gareus eb85b336c8
Add additional nutempo Lua bindings
Particularly it is now possible to sum timepos + timecnt
and subtract, calling distance() as appropriate.
2022-09-26 22:18:35 +02:00
Robin Gareus 7d75ac0f14
Add Lua binding to remove plugin-preset 2022-09-21 18:21:27 +02:00
Robin Gareus 3ad819da4c
Add Lua binding to create/save plugin presets 2022-09-21 14:48:04 +02:00
Robin Gareus 6f7188dc49
Add Lua bindings for MIDI channel mode/mask 2022-09-10 04:28:55 +02:00
Robin Gareus 288c58c5de
Fix/add missing Lua enums 2022-09-08 05:34:05 +02:00
Paul Davis c8feef51ab convert use of operator* for tim::line types with ::scale(ratio_t) 2022-05-27 12:47:44 -06:00
Robin Gareus 04aaf23851
Add Lua bindings for MixerScene 2022-05-19 23:32:01 +02:00
luz paz 1e640563d6
Fix source comment typos in `libs/ardour`
Found via `codespell`
2022-05-11 00:14:28 +02:00
Ben Loftis f50d5507c3 midi_model: rename some midi diff functions, to (try to) avoid confusion
syntax for beginning and ending a diff command is:
 "new_diff_command"  ->  "apply_diff_command"

syntax for applying a diff_command is:
 "_as_commit" :  Begins and Commits a standalone undo Command
 "_as_subcommand" :  adds to undo but does not Begin or Commit a Command
 "_only" : (new) applies the note_diff but does not have any effect on undo
2022-05-10 15:47:20 -05:00
Robin Gareus a946046532
Add API to copy Biquad parameters
This is handy for stereo or higher-order plugin configurations,
the coefficients have to be calculated only once.
2022-04-02 19:10:08 +02:00
Paul Davis a803dd0df8 superclock_ticks_per_second: use an (inline) accessor, change value
We do not want a value as large as the previous one, which limits the time
range that can be represented in 62 bits unnecessarily. The new value is
9 times smaller than the previous value, and loses only 384000 as a significant
factor.

This commit also switches to using an (inline) accessor for superclock_ticks_per_second,
making it possible in debug/testing phases to spot early/illegal uses of the value.
2022-03-17 14:15:59 -06:00
Ben Loftis 20dad3f520 ripple: Lua bindings for ripple enums (no funcs to use them yet) 2022-03-14 21:35:35 -05:00
Robin Gareus 1c5cfdad82
..but there is a Temporal::timecnt_t modulo operation 2022-01-24 06:51:28 +01:00
Robin Gareus dd0dcd6d59
timepos_t modulo operator is defined but not implemented 2022-01-24 06:50:52 +01:00
Robin Gareus 90ff5de6e3
Add Lua bindings for libtemporal type operations
This allows to use standard arithmetic (+ - * / %) and
relational (< <= ==) operations on Temporal::timepos_t
and Temporal::timecnt_t class instances.

Furthermore `print()` outputs the actual value (no longer
user-data pointer to the instance).
2022-01-24 06:23:16 +01:00
Paul Davis 8a49d274fb fix luabindings for Editor.mouse_add_new_marker(), since API changed 2022-01-04 15:23:51 -07:00
Paul Davis c2d18dabd5 add new location flag, IsCueMarker 2022-01-04 15:23:51 -07:00
Paul Davis 6059687fb2 export MidiTrack::{set_,}input_active() to Lua 2021-12-31 12:55:02 -07:00
Robin Gareus 96c80e88ac
Lua binding for MidiTrack::set_input_active 2021-12-30 19:00:14 +01:00
Robin Gareus 3753d97599
Add Lua binding for Temporal::TempoMap::write_copy 2021-12-11 18:30:29 +01:00
Robin Gareus ce15b6ed66
Cont'd work on TempoMap Lua bindings 2021-12-11 17:43:12 +01:00
Robin Gareus 3b18b025e3
Fix Lua TempoMap bindings
* Resolve ambiguity between typef'ed ARDOUR::timepos_t and
  Temporal::timepos_t (and timecnt_t, superclock_t)
* Add missing classes TempoPoint, MeterPoint, which are
  return value for various TempoMap methods.
* Change TempoMap into a shared_ptr<> class.
* Move Tempo and Meter out of ARDOUR into Temporal namespace.
* add various bindings to access the TempoMap
* move Temporal enums out of ARDOUR::Temporal namespace
2021-12-11 16:49:28 +01:00
Robin Gareus cc34eac4a5
Fix new_midi_track Lua binding
see also e9401a945f
and 1c0593201c
2021-12-03 13:34:42 +01:00
Robin Gareus 3a2566b4af
Add API to set TriggerTrack flag
This is intended to decide if a track will be visible on the
Trigger-Tab/Page. It should be kept in sync with trigger-processor
enable.
2021-12-01 23:10:04 +01:00
Robin Gareus d3fe3ab866
Fix Lua namespace -- correctly close Tempo.Type 2021-11-28 21:10:29 +01:00