Commit graph

77 commits

Author SHA1 Message Date
Robin Gareus
59b2369736
Remove unused gain-buffer for master-read (NOOP) 2024-04-23 21:52:02 +02:00
Robin Gareus
980eb595cf
Add Lua API to query plugin properties 2024-03-24 23:09:53 +01:00
Robin Gareus
cfa45be99f
Add Lua API to set plugin properties 2024-03-24 23:09:53 +01:00
Robin Gareus
7dc1fbab5a
Add Lua API to conveniently set automation data 2024-02-21 19:38:51 +01:00
Paul Davis
3b565693c8 objects don't have a time domain, they have a time domain provider (libs) 2023-08-02 15:22:52 -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
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
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
f6e471f48d Remove explicit overrides
see 27dcb7560c1cab and 8c83149c4c
2022-10-07 00:36:43 +02:00
Robin Gareus
e40f58c106 Inherit Region Properties
This also adds special cases when splitting or splicing locked regions.
2022-10-07 00:36:10 +02:00
Robin Gareus
8c83149c4c
Fix time stretch if region-start > 0
For some reason applying the property change
  plist.add (Properties::start, std::numeric_limits<timepos_t>::min());
does not correctly reset the offset of the newly created region.
2022-09-27 13:06:13 +02:00
Robin Gareus
8b0ab38675
Copy region properties (1/2)
RegionFactory::create(Region&,..) copies all region properties.

There are however various operations that use a new Source
as intermediate to create a new Region from another Region.
Those operations should also inherit various region properties
(such as mute, opaque, locked, ..)
2022-09-19 22:49:39 +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
ecb1d33c02
Remove Region::position remnants (see cc6c0f1263) 2022-03-04 22:38:41 +01:00
Paul Davis
56cde042cd Region::_start should be a timepos_t not a timecnt_t
It is an offset from an *implicit* origin (the source zero), not from an explicit origin,
and this fits with the concept underlying timepos_t. A timecnt_t requires an explicit origin,
which makes no sense in this context (just as it doesn't for the timeline as a whole).
2021-08-13 12:51:34 -06:00
Paul Davis
1637c13fbf extend Lua API a little to allow callers to specify time domain for script/plugin automation data 2021-08-13 12:51:33 -06:00
Paul Davis
495cc1e4bc plugins use their route's automation time domain 2021-08-13 12:51:33 -06:00
Paul Davis
82e84e6b92 change all Region::nt_*() methods to names without the nt_ prefix (library version) 2021-08-13 12:51:30 -06:00
Paul Davis
eae9d276fe libardour: conversion to use timeline types (mega-commit) 2021-08-13 12:51:29 -06:00
Robin Gareus
e91fd1fce6
Add Lua binding to query plugin-presets and scalepoints 2021-05-27 16:56:24 +02:00
Ben Loftis
13c819e02b Plugin Tags: Add a Lua-accessible function to write untagged plugins to a file so we can bulk-tag them.
print(ARDOUR.LuaAPI.dump_untagged_plugins())
 ...will write untagged plugins to a file, and report the resulting file path to the user
2021-05-14 15:08:44 -05:00
Robin Gareus
58830d857c
Lua API for sends, sidechains and monitoring 2021-05-11 20:30:53 +02:00
Robin Gareus
f410dc433c
Fix Lua get_processor_param API 2021-04-14 17:53:56 +02:00
Robin Gareus
c33b40bb7f
Crash-test tester 2021-02-11 10:06:47 +01:00
Robin Gareus
62e47fb57c
Add Lua binding for unit-tests to sync with process-cb 2020-11-04 19:08:59 +01:00
Robin Gareus
0ca0b4f335
VST3 skeleton 2020-09-16 22:49:19 +02:00
Robin Gareus
c5014d9d9e
Remove unused LV2 ifdef 1/3
LV2 has been mandatory since 6.0 (04ccd328dc)
2020-09-15 17:01:32 +02:00
Paul Davis
0f63b82943 fix error in multiple calls to SourceFactory::createWritable()
removal of tape tracks removed an intermediate argument in the argument list; presence of default args for the
last two arguments and implicit conversion from int->bool prevented the compiler from complaining
about any existing calls.

This supplements/extends a54b000a70
2020-03-23 21:47:13 -06:00
Paul Davis
a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06:00
Robin Gareus
b83c4f2fa4
Fix C++11ism 2020-01-13 22:47:50 +01:00
Robin Gareus
fd4c35d46a
Add rubberband Lua bindings to process ardour regions 2020-01-13 17:57:35 +01:00
Robin Gareus
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.

see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
Robin Gareus
6edb649b53
Allow to cancel LuaAPI::Vamp::analyze 2019-09-02 05:18:17 +02:00
Robin Gareus
a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus
c98fc1099d Fix some Wimplicit-fallthrough
A "fall through" comment is most portable way to indicate
"no break, fallthru" cases.

 * __attribute__ ((fallthrough))  // is not portable
 * [[fallthrough]]; // is C++17
2018-10-26 14:53:44 +02:00
Nikolaus Gullotta
179bc6be4f add mac_vst_plugin_info() to list_plugins() and new_plugin_info() 2018-08-17 11:22:16 -05:00
Robin Gareus
d9a3866299 Add a locale-independent float/double format Lua method
print(ARDOUR.LuaAPI.ascii_dtostr(1.5))
2018-08-14 23:50:11 +02:00
Robin Gareus
d95df91642 Add Lua API to list all available plugins 2018-05-31 16:02:43 +02:00
Paul Davis
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04: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
Robin Gareus
9036f89311 Fix typo in Lua Vamp API 2017-08-04 01:27:46 +02:00
Robin Gareus
601c317d70 Clean up library inheritance (colors.h, utils.h)
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
Robin Gareus
1bfa74c0f9 fix copy/paste issue, typename is not needed here 2017-03-18 23:06:42 +01:00
Robin Gareus
6ceade76b3 Lua bindings to access MIDI region/source note-events 2017-03-18 19:07:03 +01:00
Robin Gareus
35f84bde6a Allow to access/load LuaDSP plugins with default plugin lua-bindings API 2017-02-21 16:15:13 +01:00
Robin Gareus
4755c703f4 move color_to_rgba to LuaAPI for consistency 2017-02-18 16:11:18 +01:00
Ben Loftis
bfebad3dce Expose a new lua hook for resetting a plugin processor ( convenience func only: this avoids the necessity of an extra cast to PlugInsert ) 2017-01-31 10:35:37 -06:00
Robin Gareus
f05f19bdd4 add Lua bindings for Timecode conversion 2016-12-08 12:45:44 +01:00
Robin Gareus
d4229da4cf honor Vamp Plugin preferred step+block sizes. 2016-10-07 14:37:09 +02:00
Robin Gareus
0cf75054a6 Add Lua bindings for basic MIDI model editing 2016-10-07 00:23:33 +02:00