Help make Ardour 7.3 better: a simple thing for everyone

The source code of Ardour now contains support for searching both global and per-session preferences/properties. However, for this to be truly useful, we need to add “metadata” for each option: essentially a list of keywords for every option (which will also be translated/translatable).

It’s not really very obvious how to organize the effort to collect these keywords together with the relevant option, but to some extent that’s a brute force effort that can be done after we collect a bunch of them.

So, your task, oh lovely Ardouristas, is to add to this thread, as a list of lines that look something this:

“Display selection clock” : visible clock selection hide show display

i.e. some string corresponding (roughly) to what is visible in the GUI, followed by a list of (english) space separated keywords that you associate with that preference item.

The more metadata we get, the more searchable preferences will become, and the easier it will be for everyone to find relevant preferences. Thanks in advance for your help!

9 Likes

Maybe the manual (preferences and properties) could provide a good starting point ?
Something like:


    <dfn>Audio/MIDI Setup</dfn>
        <dfn>Show Audio/MIDI Setup window</dfn> Shows Audio MIDI Setup dialog
        <dfn>Try to auto-launch audio/midi engine</dfn> automatically launch audio MIDI system driver device
    <dfn>Editor Undo</dfn> Undo operations
        <strong>Limit undo history</strong> how many commands undone undo memory
        <strong>Save undo history</strong> how many commands saved undone undo reopening session keep actions undoable
        <strong>Verify removal of last capture</strong> verify removal last recording capture Remove Last Capture
    <dfn>Session Management</dfn>:
        <strong>Make periodic backups of the session file</strong> backup session file after changes session bak recover crashes
        <strong>Default folder for new sessions:</strong> default folder create new session Setup dialog
        <strong>Maximum number of recent sessions:</strong> how many last opened sessions show in Recent
    <dfn>Import</dfn>: 
        <strong>Drag and drop import always copies files to session</strong>Copy files to session import dialog Add Existing Media
        <strong>Cache Folder for downloaded Freesound clips</strong>sounds FreeSound org inserting into project folder temporary files media
    <dfn>Export</dfn>
        <dfn>Save loudness analysis as image file after export</dfn> Analyze Exported Audio Export dialog save analysis graph file png folder
        <dfn>Save Mixer screenshot after export</dfn> creates exports graphical image Mixer window file session png folder
    <dfn>New Version Check</dfn>
        <dfn>Check for announcements at application start</dfn> request Ardour server check new version
    <dfn>GUI Lock</dfn>
        <dfn>Lock timeout (seconds)</dfn> locks Graphical User Interface GUI after idle seconds time never Lock unlock
        <dfn>System Screensaver Mode</dfn> prevent screen saver screensaver launched system while long unattended 
    <dfn>Theme</dfn>
        <dfn>Draw &quot;flat&quot; buttons</dfn> button controls user interface flat look 3D appearance
        <dfn>Draw &quot;boxy&quot; buttons</dfn> button controls user interface quare corners rounded
        <dfn>LED meter style</dfn> bar meters style look LEDs LED dotted bar flat continuous
        <dfn>Icon Set:</dfn> mouse cursor icons icon indicate tool modes mode editor select

Wow, this sounds highly inefficient. Just trying to think of a better way to do it. Is it possible to create a new thread “category” here, which will not show up in the global search (trying to not glom up the existing help topics here), and then you would write a script to create a separate topic for each gui item, and then we would add our keywords to each of those topics? Or do a similar thing in Mantis?

Maybe everything that shows or hides anything should react to all of “visible hide unhide show display appear view cloak mask” and maybe even more. I wonder if it would it be easier if synonyms are supplemented automatically? Would it therefore make sense to put together several lists of synonyms, too?

Then again, keywords like “time clock timecode tempo sync metronome click” might be synonymous in one context but absolutely not in another, any automatic supplementation of keywords might have to be checked manually. Anyway, it’s just a thought.

Edit: A Question: Will “visib” catch “visibility” and “visible”? (and will “preference” also catch “preferences”?

Excellent points. Will ponder them for a day or so.

I would certainly like to find a better process but so far nothing obviously better in all ways has come to mind

2 Likes

Some more synonyms: Folders/Directories. Backup/Autosafe.

And there’s of course “Ardour-Speak”. Our “regions” have other Names on other DAWs. What we call “Session” might be a “Song” for someone else.

Maybe there’s also a need for keywords consisting of more than a word: “reopen” is “open again”, but “again” probably should not count as a keyword on its own. One might type “how many” which should not be confused with “how often”/“how do I”

Anyways, I expanded on part of the passage of the manual that @Headwar posted (Thanks). Here it is:

  • Show Audio/MIDI Setup window: “audio midi alsa jack pipewire sound interface setup visible visibility hide unhide show display appear view cloak mask window dialog”

  • Try to auto-launch audio/midi engine: “audio midi system engine alsa jack pipewire sound interface auto start launch driver device”

  • Limit undo history: “how many fewer more number commands history save saved undone undo redo memory”

  • Save undo history: “how many fewer more number commands history save saved undone undo big-session-folder directory big-session-file smaller-session-folder smaller-session-file close reopen open-again session keep actions undoable”

  • Verify removal of last capture: “verify confirm approve acknowledge validate certify remove removal last recording capture take punch-in”

  • Make periodic backups of the session file: “backup autosafe safe session file after changes bak recover bluescreen failure crash crashed crashes”

  • Default folder for new sessions: “normal usual default folder directory create new session song dialog”

  • Maximum number of recent sessions: “how many number fewer more newest recent latest last opened sessions songs show visible displayed menu”

Is this useful? Two shared csv files on github.

Standard text csv - fields delimiter comma, text delimiter quote.
Open in spreadsheet, fill in Visible and metadata fields, save back in csv.
Is there a better way to transfer this?

Do you just want to dump the edited csv as a message post? Is another format better. Your initial example works for you (you know the program) but I prefer to know the menu area that the prefs, properties are located in.
“Appearance/Toolbar/Main Transport Toolbar Items/Display Selection Clock”
vs.
“Display selection clock”

If you just want the shorter menu option as you first posted, just verify and I’ll upload my Visible and metadata info. Would this be better on github? Then merges and diffs could be done.

I’m adding fields for “Description” from the Ardour manual pages given above , and Lua Actions and Lua Action Descriptions from Ardour -A output that match the associated Preferences and Session Properties.

Do you want commonly misused terms added to metadata?
Example:
Media/Audio File Format/Sample Format 32bit, 24bit, 16bit correct MetaData
Media/Audio File Format/File Type Wav, Flac, etc. correct MetaData

Many people combine and confuse these: Sample format = wav, Flac, etc.
File Type = 32bit, 24bit, 16 bit, etc.

Should there be primary MetaData and “Maybe you’re looking for, Did you mean…” secondary MetaData?

Bad example here because either search term would take you to the same Session Properties dialog where you would see the other term.

But for instance MIIDI prefs are in Session Properties and multiple locations in Preferences. Linking to the “correct” destination won’t help you find what your looking for if you used the wrong search term.
How fuzzy should we be with the MetaData terms?

I guess the way most apps handle this is by asking for your permission, and then scraping and sending your usage data to the vendor. Not casting a vote for nor against that. Another oblique option: train a ChatGPT on the manual, forum entries, and Ardour-related video/youtube transcripts, and push that out.

There’s no user data to collect for this purpose. We’re asking for human input.

1 Like