Commit Graph

1218 Commits

Author SHA1 Message Date
Robin Gareus 6b8018d927
Indicate remaining record time for FLAC with >= 2024-05-13 21:54:18 +02:00
Robin Gareus 5d175786e8
Remove debug messages, cleanup output (1/2) 2024-05-08 00:56:43 +02:00
Nils Philippsen e995daa375 Fix failure to build with libxml2 version 2.12
This declared some xmlError pointers const, which probably was always
assumed, but not made explicit.

Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2023-11-25 00:30:04 +01:00
Paul Davis a5ac6e097e switch no-strobe from cmdline to UI config preference 2023-11-10 15:50:44 -07:00
Paul Davis 863ad01a90 no strobe for rec-enable buttons (all of them) 2023-11-10 11:18:17 -07:00
Paul Davis 08af0fe04a no strobe for the transport peak meter 2023-11-10 10:54:54 -07:00
Paul Davis 036596ba3f no-strobe changes for clocks 2023-11-10 10:37:07 -07:00
Robin Gareus 560885b7da
Do not automatically set `font-size` on macOS
freetype on macOS does not scale fonts, font-scale and ui_scale
have to remain at 100% otherwise other UI elements change size
while the font does not.
2023-10-30 21:52:43 +01:00
Robin Gareus b8551eed7e
Properly unload VST3 plugins
The InstrumentSelector keeps a PluginPtr reference to all
instruments. By default Ardour does not destroy the editor
at exit, So 3 instances of Instrument Selector can remain

 * TriggerClipPicker in the editor sidebar (owned by _editor)
 * TriggerClipPicker on the TriggerPage (owned by trigger_page)
 * SoundFileOmega (sfbrowser owned by Editor)

If a shared_ptr reference is retained, VST3 Module is not
unloaded at exit. This leads to issues with various plugins.
eg. Reason Rack does not terminate, Ardour hangs at exit.
2023-10-27 00:39:03 +02:00
Robin Gareus c1be897eed
Explicitly sandbox Lua instances (3/4)
This allows UI scripts (saved in preferences) to access
os.* functions (non-sandboxed), while preventing other
scripts to do so.

Lua scripts that can run os commands can execute arbitrary
code on the system. While this is a nice feature, it can be
equally dangerous.
2023-10-04 02:50:38 +02:00
Robin Gareus d7c611e025
Guess UI scale for copy-config dialog
This dialog shows before the new user wizard,
where a user would configure HDPI/UI scaling.
2023-09-25 17:07:15 +02:00
Robin Gareus 4628be8ed3
Fix capitalization in running text 2023-06-04 16:08:11 +02:00
Robin Gareus d206e5daa7
Allow translation, Track and Bus may have different gender 2023-06-04 15:55:33 +02:00
Robin Gareus bedca7b5ef
Amend prev commit, pick different max channels for custom config 2023-04-20 19:08:29 +02:00
Robin Gareus 24986b1f17
Add dialog to configure custom number of chnnels 2023-04-20 19:04:39 +02:00
Paul Davis 786f71f7f1 fix GUI enum registration so that UIConfiguration can load with variables that use some of them 2023-04-08 13:58:25 -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 168344a3f9
Indicate sample-rate mismatch in the status-bar 2023-02-12 16:23:42 +01:00
Paul Davis 303f838a53 define new actions for stopping triggers/slots 2022-12-10 10:33:39 -07:00
Paul Davis d757fd5506 print XML errors to stderr not just the error stream 2022-11-19 21:30:27 -07:00
Mads Kiilerich 1e77814c62 MainClock: drop 'primary' parameter
The main clock no longer use direct access to the config system, and
is no longer restricted to know whether it is primary clock or not.
2022-11-20 02:31:22 +01:00
Mads Kiilerich 728e463d01 AudioClock: make last_when public and use it instead of current_time
Having current_time as a public alias of the private last_when did not
add any clarity to the abstraction of last_time. A small step, but still
room for improvement.
2022-11-17 18:04:08 +01:00
Paul Davis ffd089720d ardour UI: provide proxies for BasicUI trigger/cue methods 2022-11-16 14:15:34 -07:00
Paul Davis 5330d73c35 ArdourUI HAS-A BasicUI
The idea is to allow some reduction in code duplication
2022-11-16 14:15:34 -07:00
Robin Gareus 0bf8e7d8cf
Make clock mode settings session independent
Much like the edit-tool and grid-types, clock-modes are UI state.

Saving the UI state separately allows them to be used
consistently for new sessions. Previously clock-modes were set
initially (at application start) and when loading sessions.

The clock modes of newly created sessions was different
depending on loading another session prior to creating the
session. This is now no longer the case.
2022-10-10 21:03:45 +02:00
Paul Davis 0d5fd0de0c rename "library manager" to "library downloader everywhere (breaks string freeze) 2022-09-27 11:22:56 -06:00
Robin Gareus 6f9f7fb831
Fix typo, shorten dropdown strings 2022-09-19 23:24:42 +02:00
Robin Gareus 5fb628d3ed
Use new record-mode pref (2/2), GUI control 2022-09-19 22:50:11 +02:00
Paul Davis 583bfa8878 remove some library mgmt related code that should not have been committed 2022-09-07 17:27:51 -06:00
Paul Davis 5461bfb218 add a new global window for reviewing and (soon) downloading loop libraries 2022-09-07 17:03:08 -06:00
John Emmas 30efdbe0f8 Some minor reverts to commit #63f94d29463 (from 25th May 2022)
These were preventing Ardour from compiling on Windows (Clang or MSVC)

Possibly would've been buildable with MinGW but I don't have that available to test.
2022-08-21 12:34:10 +01:00
itmuckel 63f94d2946 Remove unused includes 2022-08-19 09:27:19 -06:00
Colin Fletcher c9446aa1e1 gtk2_ardour: set region marks into currently recording regions
Region actions are generally set insensitive whilst recording, so
special-case the "add-region-cue-marker" action by explicitly enabling it
when starting to roll in record. Additionally, the action becomes disabled
again after it's been executed, so re-enable it after queuing the cue when
recording.
2022-08-09 14:03:16 -06:00
Robin Gareus 7408a9958e
Fix duplicate UI initialization
When loading the very first session is canceled (e.g.
sample-rate mismatch -> Do not load session) or fails otherwise,
execution returns to the startupFSM.

Loading another session after that then takes the same path again:

StartupFSM::dialog_response_handler() -> StartupFSM::engine_running()
-> ARDOUR_UI::attach_to_engine()

The call needs to be idempotent, otherwise setup_windows(),
create_editor() etc are called a second time and Ardour crashes.
2022-08-06 21:44:55 +02:00
Robin Gareus 84d6a0a75d
Copy demo sessions (if any) for new-users
* Fix demo-session glob (missing "*" + session_archive_suffix)
* Copy demo-session also when copying settings from older version
* Also add demo-session to recent-list if it was previously unpacked
  for new major versions.
2022-07-27 01:08:01 +02:00
Paul Davis e2e6274956 libardour: change API of Session::request_locate() to include "force" argument (GUI edition) 2022-05-27 18:49:23 -06:00
Robin Gareus d513d8b876
Do not allow dir-separators in session-template names
See also: 576f10b6f1
2022-05-15 19:53:12 +02:00
Robin Gareus f8e1202ed4
Bootstrap IO Plugin UI 2022-05-09 17:39:05 +02:00
sra 76a0b3c70e
Disable sandbox in lua SessionInit scripts. 2022-04-21 00:34:10 +02:00
Mads Kiilerich 7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS) 2022-04-08 21:11:06 +02:00
Mads Kiilerich 440264e0b8
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_TOP 2022-04-08 21:11:06 +02:00
Mads Kiilerich 2aa72891f3
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_LEFT 2022-04-08 21:11:06 +02:00
Mads Kiilerich a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Mads Kiilerich d52c727ec5
gtkmm: use get_mapped instead of deprecated Gtk::Widget::is_mapped() 2022-04-08 20:20:10 +02:00
Ben Loftis b25aa18c80 add_route_dialog: add a checkbox to show Tracks on the Cue page 2022-03-18 18:36:06 -05:00
Ben Loftis 7f89db9f36 primary clock should show BBT now 2022-03-15 09:03:40 -05:00
Robin Gareus c593ac75a5
Remove Video Export Infobox (1/2) 2022-03-11 04:55:46 +01:00
Robin Gareus 370adfa322
Add option to hide cue rec/play toolbar buttons 2022-03-01 17:53:11 +01:00
Ben Loftis 54d794e242 rough-in global Cue functions (rec-enable and play-enable i.e. cue-ffwd) 2022-02-12 21:46:30 -06:00
Ben Loftis 986942fe96 Cue Page: rename Trig -> Cue 2022-01-25 19:50:57 -06:00