Commit Graph

140 Commits

Author SHA1 Message Date
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
Robin Gareus 7b96fa1c5e
Fix some Gtk::Menu memory leaks
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.

The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.

This works because the GUI is single-threaded and at most one
context menu is visible at a time.
2019-03-07 23:50:50 +01:00
Robin Gareus 4dc65e6613
Prefer testing the session instead of using a global variable 2018-12-06 02:24:31 +01:00
Robin Gareus b81fdeaa66 Work around tooltips in treeviews selection issue #7678
When tooltips are disabled, but a tooltip column is set for a treeview,
the treeview selection behaves inconsistently. It requires a 3rd click
after expanding any child-rows to select a child.
2018-11-01 23:21:23 +01:00
Robin Gareus b844e3f45a Remove debug output from 39f65bbce 2018-10-05 00:56:59 +02:00
Robin Gareus 39f65bbce2 Sort Factory/Lua-script session-templates 2018-10-04 03:36:40 +02:00
Robin Gareus b73eac450a Fix session-archive file extension filter 2017-10-03 03:09:25 +02:00
Robin Gareus f9710f4624 Update Session-Archive Dialog: add compression-option 2017-10-03 02:24:19 +02:00
Robin Gareus 0fd861d8de s/created with/modified with/
Once a session has been saved by a more recent version or a different
variant, the session file is tied to that version/variant.

The created-with version is only for debug purposes and internal use.
2017-09-21 02:01:12 +02:00
Paul Davis ea5fa64c0b manually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample 2017-09-18 14:59:11 -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
Ben Loftis 3c81351413 Mixbus needs to show Created-With on the recent sessions list 2017-09-10 15:33:12 -05:00
Robin Gareus 08e564dc2e Fix session-open after selecting new, template, then back 2017-08-24 02:08:32 +02:00
Robin Gareus 1a70a2f977 Cont'd work on route-templates 2017-08-20 00:18:58 +02:00