Commit Graph

38963 Commits

Author SHA1 Message Date
Robin Gareus 42dc033636
Vapor: work-around stem export alignment
This is a somewhat fragile solution to ensure that
processor reset happens in the same cycle in which
the actual data arrives at the start of the cycle.
2024-03-07 01:28:22 +01:00
Robin Gareus 77e7470270
Vapor: handle export abort 2024-03-06 18:35:08 +01:00
Robin Gareus 922ad14217
Gap-less overwrite_existing_audio
AudioPlaylist::read first clears the buffer passed to it, in
order to sum all layered regions into the buffer.

This cleared data in the ringbuffer that is concurrently being
used for playback.
2024-03-06 02:33:39 +01:00
Robin Gareus 6df34a307d
Match surround panner automation line convention
move to the left -> automation line moves upwards
move to the front -> automation line moves upwards
2024-03-05 14:59:26 +01:00
Robin Gareus 3a6171428a
Do not include hidden plugin in plugin-list 2024-03-05 00:56:42 +01:00
Robin Gareus bf7d4f895e
Fix jump to next/prev bar
Previously this only located to the prev/next bar if the
playhead was not already on a bar boundary
2024-03-04 20:25:41 +01:00
Robin Gareus 517d82a6f2
Vapor: add script to perform live rendering tests 2024-03-04 17:00:00 +01:00
Robin Gareus 53b951f6a9
Vapor: Properly name sync&aling API 2024-03-04 16:53:33 +01:00
GianfrancoCostamagna 338cd09a4a
Work around itstools bug #9648
Forwarded from debian.
Having stderr output inside the returned command tricks the system
to fail in detecting the version.
Ignoring stderr output looks fine to make it build properly:

```
itstool --version
/usr/bin/itstool:239: SyntaxWarning: invalid escape sequence '\s'
  if re.sub('\s+', ' ', text).strip() != '':
/usr/bin/itstool:337: SyntaxWarning: invalid escape sequence '\s'
  message = re.sub('\s+', ' ', message).strip()
/usr/bin/itstool:475: SyntaxWarning: invalid escape sequence '\s'
  return re.sub('\s+', ' ', self.locnote).strip()
/usr/bin/itstool:477: SyntaxWarning: invalid escape sequence '\s'
  return '(itstool) link: ' + re.sub('\s+', ' ', self.locnoteref).strip()
/usr/bin/itstool:891: SyntaxWarning: invalid escape sequence '\<'
  regex = re.compile('(.*) \<(.*)\>, (.*)')
/usr/bin/itstool:926: SyntaxWarning: invalid escape sequence '\s'
  if re.sub('\s+', '', prevtext) == '':
/usr/bin/itstool:1452: SyntaxWarning: invalid escape sequence '\.'
  _locale_pattern = re.compile('([a-zA-Z0-9-]+)(_[A-Za-z0-9]+)?(@[A-Za-z0-9]+)?(\.[A-Za-z0-9]+)?')
itstool 2.0.6
```
2024-03-04 14:27:23 +01:00
Robin Gareus 37d130f6e1
Fix Aux-send gain automation latency compensation 2024-03-03 01:08:07 +01:00
Robin Gareus ed98ff97b2
Fix adding new route in front (#9651)
When adding a new route using "Front", its presentation info
order is set to 1, after the master-bus which has PI order 0.
(see Session::ensure_route_presentation_info_gap).

Mixer_UI::add_stripables, looks up the insert iterator:
"after the route with order 0", but since the master bus is
not in mixer's track-model, the insert-iterator is left "at end".

A later call to `sync_presentation_info_from_treeview` then updated
the new track's order key to be at the end.
2024-03-02 14:55:58 +01:00
bansaghi 256d3b1d52 add control names to General MIDI drums 2024-03-01 17:45:52 +01:00
Robin Gareus 2c858deae4
Allow to stem-export Surround Master 2024-02-29 16:15:50 +01:00
Robin Gareus 2fe22eeab5
Fix header include, potential fix for #9649 2024-02-29 03:09:00 +01:00
jean-emmanuel 83f5d40280
grid/snap: disable broken septuplet option 2024-02-27 23:28:41 +01:00
jean-emmanuel af023cc516
snap: fix quintuplets and septuplets 2x factor
grid: fix quintuplets 2x factor (septuplets still don't draw properly)
2024-02-27 23:21:33 +01:00
jean-emmanuel f190493e32
grid: display grid lines for triplets/quintuplets/septuplets 2024-02-27 23:21:33 +01:00
jean-emmanuel 81bd75e7ae
ui: editor: add missing h-separator after last track header 2024-02-27 23:19:12 +01:00
Robin Gareus 8d0704dda2
Vapor: add option to sync processing to a 512 sample cycle 2024-02-27 23:16:54 +01:00
Robin Gareus 3c61d1150b
Vapor: ADM/BWF meta-data is not to be interpolated 2024-02-27 17:41:23 +01:00
Robin Gareus 734d365949
Add additional Lua bindings for interpolation 2024-02-27 17:05:10 +01:00
Robin Gareus eb4af10745
Amend 5880e51e92, ADM script only works on Unix Systems 2024-02-27 00:30:03 +01:00
Robin Gareus 6c1f503cda
Vapor: check for master_info tool 2024-02-27 00:27:43 +01:00
Robin Gareus 0ea0b656b8
Return Lua system-exec exit status 2024-02-27 00:23:49 +01:00
Robin Gareus 301d2954c5
Vapor: pass program meta-data to plugin 2024-02-27 00:01:49 +01:00
Robin Gareus 80098c6a86
Vapor: prevent export when there are more than 128 channels 2024-02-26 22:15:11 +01:00
Robin Gareus 5880e51e92
Add Icon to ADM/BWF script, and preseed it 2024-02-26 22:15:08 +01:00
Robin Gareus 4acd0e9f29
Vapor: add API to query channel count 2024-02-26 22:15:05 +01:00
Robin Gareus bff0f174da
NO-OP: fix typo in method name 2024-02-26 18:43:32 +01:00
Robin Gareus 305b2778b4
Vapor: parse and use additional meta-data from adm 2024-02-25 17:43:56 +01:00
Robin Gareus 4bd2de2f72
Vapor: prepare for additional meta-data 2024-02-25 16:26:15 +01:00
Robin Gareus c7eef61e78
Make it easier to use Ardour --gdb on linux 2024-02-24 21:49:21 +01:00
Robin Gareus 22094c6caa Vapor: expose Apple Spatial Mixer contols (via Lua) 2024-02-24 19:47:56 +01:00
Robin Gareus 572a8b9cf8
Use G_ENABLE_DEBUG with default debug builds 2024-02-24 04:17:47 +01:00
Robin Gareus 6e12e71e8b
Show Progress when importing many channels/tracks
Track creation is a slow. Importing multi-channel files
to new tracks can take a significant amount of time.
This prevents the GUI from being marked as unresponsive and
shows progress.
2024-02-24 00:42:50 +01:00
Robin Gareus 61c6d2bfa1
Vapor: add channel/object-ID map 2024-02-24 00:42:47 +01:00
Robin Gareus c6f8002561
Discard untitled sessions even when not quitting Ardour 2024-02-24 00:42:40 +01:00
Robin Gareus e94e7b6dc7
Vapor: keep session config and UI action in sync 2024-02-23 17:04:25 +01:00
Robin Gareus 45a7719ede
Vapor: simply ADM meta-data passing, pass reference file 2024-02-23 17:03:41 +01:00
Robin Gareus 22fef5ab2b
Vapor/LV2: API to pass options to exporter 2024-02-23 15:51:47 +01:00
Robin Gareus 0fa8c5add4
Update ydk-pixbuf, backport upstream changes to io-xpm #9642
Bastien Nocera <hadess@hadess.net>
  io-xpm: Fix "format not a string literal" errors
  xpm: Sanity check XPM file dimensions
  xpm: Simplify error path
  xpm: Fail when XPM file doesn't contain enough data

Philip Withnall <withnall@endlessm.com>
  io-xpm: Handle fseek() failure

Federico Mena Quintero <federico@gnome.org>
  Use gdk_pixbuf_get_pixels(); don't access the pixels field directly

Tobias Stoeckmann <tobias@stoeckmann.org>
  XPM: Fix undefined behaviour (signed integer overflow)
2024-02-23 01:29:16 +01:00
Robin Gareus 64e42a465b
YTK is not interested in system-wide GTK Modules 2024-02-23 00:33:17 +01:00
Robin Gareus 85e361044b
Add option to enable G/YTK debug 2024-02-22 23:54:28 +01:00
Robin Gareus d7b7923232
Add Lua script to import ADM test files 2024-02-22 01:55:11 +01:00
Robin Gareus 3f7c98e2db
Vapor: add API used to set ADM meta-data 2024-02-22 01:55:05 +01:00
Robin Gareus 7dc1fbab5a
Add Lua API to conveniently set automation data 2024-02-21 19:38:51 +01:00
Robin Gareus 8b0b316565
Update unversal legal path rule for windows 2024-02-21 13:51:40 +01:00
Robin Gareus ff82e53b85
Revert "Sanitize the AAF's snapshot name (it'll get used later to create an OS folder)"
This reverts commit b935710b60.

legalize_for_universal_path() already santizes the path in a way that is
safe for all OS.

laaf_util_clean_filename() cannot be used with .c_str() because the
function modifies the char* passed to it.

This worked in some cases before C++11, and can work with non-const
 std::string::data starting at C++17, but C++11 spec is quite clear:

> The program shall not modify any of the values stored in the
> character array; otherwise, the behavior is undefined.
2024-02-21 13:38:39 +01:00
Biswapriyo Nath 7e7d22e7d2
ytk: Fix function pointer casting compiler error with clang
This fixes the following compiler error.

../libs/tk/ytk/gtkscale.c:1474:50: error: incompatible function pointer types passing
'GCompareFunc' (aka 'int (*)(const void *, const void *)') to parameter of type
'GCompareDataFunc' (aka 'int (*)(const void *, const void *, void *)') [-Wincompatible-function-pointer-types]
    (GCompareFunc) compare_marks,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gslist.h:76:26: note: passing argument to parameter 'func' here
    GCompareDataFunc  func,
    ^
2024-02-21 13:30:23 +01:00
John Emmas b935710b60 Sanitize the AAF's snapshot name (it'll get used later to create an OS folder) 2024-02-21 11:47:04 +00:00