Commit graph

153 commits

Author SHA1 Message Date
Aleksandr Prokudin
a2ce111eb6 Mark user-visible messages for translation 2025-11-15 12:34:23 +01:00
Paul Davis
637d99167a SessionDialog: remove explicit button press handling
This is not needed since ArdourButton + related action takes care of it
2025-11-13 09:56:24 -07:00
Paul Davis
143bca4a6d SessionDialog: move NEW button to the bottom
This creates a default focus chain that allows easy access to all 3
buttons before traversing other focusable widgets in the dialog
2025-11-12 16:02:12 -07:00
Paul Davis
bbf2920f7f SessionDialog: associate actions with buttons
This allows SPACE to activate the button
2025-11-12 15:41:01 -07:00
Paul Davis
e7f0234c38 SessionDialog: create actions 2025-11-12 15:38:30 -07:00
Paul Davis
2301f7c55a SessionDialog: add methods that can be used in Actions for new/recent/open 2025-11-12 15:25:29 -07:00
Paul Davis
39d069a6a2 session dialog buttons can focus, to allow tab navigation 2025-11-12 15:01:05 -07:00
Robin Gareus
a458a302d1
Don't use Session::get_info_from_path for AAF/archive (like v8)
This still has an issue that the engine dialog may show up
before inflating the session, and known sample-rate; but
Ardour 9 can handle this.
2025-11-04 00:28:33 +01:00
Robin Gareus
4efee6b97d
Tweak layout of NSD (show longer templates, less text) 2025-07-18 20:48:26 +02:00
Robin Gareus
2581a841e0
Minimize session dialog code changes with downstream projects 2025-04-17 15:54:30 +02:00
Paul Davis
91f6245f44 experiments for the ardour startup dialog 2025-04-16 12:22:57 -06:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Ben Loftis
524073d855
Use the LiveTrax tabbed session dialog 2025-01-10 23:38:56 +01:00
Robin Gareus
cbbc456997
Fix copy/paste bug in in 35de41a419 2024-02-19 16:29:31 +01:00
Robin Gareus
35de41a419
Allow to easily pick any session type one can open 2024-02-19 16:01:11 +01:00
Robin Gareus
0a72c1317f
Initial GUI support to load AAF sessions 2024-02-15 01:44:35 +01:00
Robin Gareus
46a2b45443
Tweak translatable strings
* add spaces around "->"
* consistently use "time domain" (instead of "timebase")
* remove "Edit ->" from "Preferences" (on macOS Prefs
  are not in the edit menu
2023-12-17 20:58:11 +01: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
Ben Loftis
4d8a0b3535 add a descriptive tooltip to the Timebase selector (needs translations) 2023-10-02 16:02:06 -05:00
Ben Loftis
df479bf8cd pre-load the session timebase selector with the user pref 2023-10-01 13:58:45 -05:00
Robin Gareus
b3f26354a9
New Session dialog, reorder folder/timebase options
This keeps the folder option next to the filename.
Which is handy when using Tab to move focus.
2023-09-20 00:31:33 +02:00
Ben Loftis
4bed642d71
Allow user to choose the session time-domain 2023-09-14 23:13:05 +02:00
Robin Gareus
91579608b2
Remove duplicate API to find session files (ignore ._ files)
Session::possible_states correctly filters files
and also directly returns sorted base-names.

We can remove the redundant `get_state_files_in_directory`
API now.

see also 193b35e885
2023-06-07 17:37:40 +02:00
Paul Davis
06dfba2677 SessionDialog: do not invoke idle callbacks from response
This dialog is queued for idle delete by both StartupFSM and
ArdourUI. The deletion cannot be allowed to happen during
a response handler
2022-12-12 10:17:05 -07: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
71ea2cc7b9
gtkmm: use get_sensitive() instead of deprecated Gtk::Widget::sensitive() 2022-04-08 20:20:33 +02:00
Mads Kiilerich
a55ee74c4e i18n: Don't localize "" - that is a special gettext string
Address build warnings:
audio_clock.cc:911: warning: Empty msgid.  It is reserved by GNU gettext:
                             gettext("") returns the header entry with
                             meta information, not the empty string.
audio_clock.cc:912: warning: Empty msgid.  It is reserved by GNU gettext:
                             gettext("") returns the header entry with
                             meta information, not the empty string.
session_dialog.cc:604: warning: Empty msgid.  It is reserved by GNU gettext:
                                gettext("") returns the header entry with
                                meta information, not the empty string.
session_dialog.cc:605: warning: Empty msgid.  It is reserved by GNU gettext:
                                gettext("") returns the header entry with
                                meta information, not the empty string.

Use ("") instead of _("") to try to indicate syntactically that
localization markup intentionally has been left out.
2022-01-22 20:26:50 +01:00
Robin Gareus
5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus
00346353a3
Prevent entering an illegal session name via copy/paste or otherwise 2020-06-09 20:30:57 +02:00
Nikolaus Gullotta
e6bbbe18c6
Skip recent sessions with empty strings for names
This can happen if the recent sessions file has new lines with no
characters on it which can be the direct loading sessions with wacky
names. For example, one that has a carriage return or newline in it.
2020-06-08 09:38:29 -05:00
Robin Gareus
606d6de4b1
Consistent Lua script error and print() output 2/2 2020-04-18 18:16:12 +02:00
Robin Gareus
41ea63cead
Keep string markdown untranslatable 2020-04-14 19:01:10 +02:00
Paul Davis
4b40243f2b fix two poorly-formed uses of Glib::DateTime 2020-03-25 10:45:00 -06:00
Robin Gareus
4d9017a1fb
Also allow scratch sessions via Session > New 2020-03-25 02:43:20 +01:00
Robin Gareus
993cba5a7c
NO-OP: whitespace 2020-03-25 02:34:17 +01:00
Paul Davis
ccc9042bf2 detect whether or not user edited the name for a new session
Suprisingly hard/irritating. Thanks, GTK! (Gtk::Entry::set_text() emits all
the same signals that actual user interaction can trigger, except for key events)
2020-03-24 14:10:39 -06:00
Paul Davis
78cf1ed119 prefill new session name with a date-based default
Select it, so that typing will immediately replace it
2020-03-24 14:10:39 -06:00
Robin Gareus
efb9f3c54e
NO-OP: cleanup includes 2020-03-15 20:19:13 +01:00
Nikolaus Gullotta
a13fabf344 Resize session dialog back to initial height and width on "back"
This fixes an issue where the size of the window stayed much larger
than its content if there are no sessions in the session search path
after attempting to make a new session and then pressing "back"
2020-02-06 14:45:09 -06:00
Paul Davis
3b1ec8a43b NOOP: move brace 2019-10-10 16:52:00 -06:00
Paul Davis
cafae1663e modify API of SessionDialog to reflect that it is never used with command line parameters anymore 2019-10-10 16:52:00 -06:00
Paul Davis
195245fdb0 add SessionDialog::clear_name() 2019-10-10 16:52:00 -06:00
Paul Davis
0ea5344be6 change SessionDialog::meta_master_bus_profile() to be a static method 2019-10-10 16:52:00 -06:00
Robin Gareus
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Paul Davis
b058356d1e reverse part of a previous change to session dialog
Back-button sensitive has a more complex semantic than the change
took into account
2019-07-18 13:39:56 -06:00
Paul Davis
4679439af9 some cleanups to the use of "require_new" in the SessionDialog
This removes some redundant code and makes the logic slightly
easier to read
2019-07-18 10:54:06 -06:00
Robin Gareus
473fd45ca2
Allow to use session-init/setup scripts from the commandline 2019-07-18 16:30:08 +02:00
Robin Gareus
aebdf5f00b
Fix --template commandline option
This fixed an issue with incorrect ".template" suffix on path itself,
and also correctly hides the dialog's template list.
2019-07-18 16:16:11 +02:00
Robin Gareus
59fe1e5bdd
Consolidate code: use libardour API to sort scripts 2019-07-18 15:52:32 +02:00
Robin Gareus
5f18d8ddfd
Clarify default template description 2019-04-10 00:22:39 +02:00