fixup preferences metadata handling (libs edition)

This commit is contained in:
Paul Davis 2023-01-27 15:11:54 -07:00
parent 3af3f7d6ee
commit a4fc52ab55
3 changed files with 28 additions and 513 deletions

View File

@ -21,6 +21,9 @@
#ifndef __ardour_session_configuration_h__
#define __ardour_session_configuration_h__
#include <map>
#include <string>
#include "pbd/configuration.h"
namespace ARDOUR {
@ -66,6 +69,8 @@ public:
#undef CONFIG_VARIABLE_SPECIAL
int foo;
std::map<std::string,PBD::ConfigVariableBase*> _my_variables;
};
}

View File

@ -76,8 +76,10 @@ RCConfiguration::RCConfiguration ()
_control_protocol_state (0)
, _transport_master_state (0)
{
/* build map */
/* Uncomment the following to get a list of all config variables */
#if 0
#undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL
#define CONFIG_VARIABLE(Type,var,name,value) _my_variables.insert (std::make_pair ((name), &(var)));
@ -86,7 +88,11 @@ RCConfiguration::RCConfiguration ()
#undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL
build_metadata ();
for (auto const & s : _my_variables) {
std::cerr << s.first << std::endl;
}
#endif
}
RCConfiguration::~RCConfiguration ()
@ -310,513 +316,3 @@ RCConfiguration::map_parameters (boost::function<void (std::string)>& functor)
#undef CONFIG_VARIABLE_SPECIAL
}
void
RCConfiguration::build_metadata ()
{
using namespace PBD;
#define VAR_META(name,...) { char const * _x[] { __VA_ARGS__ }; Configuration::all_metadata.insert (std::make_pair<std::string,Metadata> ((name), internationalize_and_upcase (PACKAGE, _x))); }
VAR_META (X_("afl-position"),
NULL
);
VAR_META (X_("all-safe"),
NULL
);
VAR_META (X_("allow-special-bus-removal"),
NULL
);
VAR_META (X_("ask-replace-instrument"),
NULL
);
VAR_META (X_("ask-setup-instrument"),
NULL
);
VAR_META (X_("auditioner-output-left"),
NULL
);
VAR_META (X_("auditioner-output-right"),
NULL
);
VAR_META (X_("auto-analyse-audio"),
NULL
);
VAR_META (X_("auto-connect-standard-busses"),
NULL
);
VAR_META (X_("auto-input-does-talkback"),
NULL
);
VAR_META (X_("auto-return-after-rewind-ffwd"),
NULL
);
VAR_META (X_("auto-return-target-list"),
NULL
);
VAR_META (X_("automation-follows-regions"),
NULL
);
VAR_META (X_("automation-interval-msecs"),
NULL
);
VAR_META (X_("automation-thinning-factor"),
NULL
);
VAR_META (X_("buffering-preset"),
NULL
);
VAR_META (X_("capture-buffer-seconds"),
NULL
);
VAR_META (X_("click-emphasis-sound"),
NULL
);
VAR_META (X_("click-gain"),
NULL
);
VAR_META (X_("click-record-only"),
NULL
);
VAR_META (X_("click-sound"),
NULL
);
VAR_META (X_("clicking"),
NULL
);
VAR_META (X_("clip-library-dir"),
NULL
);
VAR_META (X_("conceal-lv1-if-lv2-exists"),
NULL
);
VAR_META (X_("conceal-vst2-if-vst3-exists"),
NULL
);
VAR_META (X_("copy-demo-sessions"),
NULL
);
VAR_META (X_("cpu-dma-latency"),
NULL
);
VAR_META (X_("create-xrun-marker"),
NULL
);
VAR_META (X_("default-automation-time-domain"),
NULL
);
VAR_META (X_("default-fade-shape"),
NULL
);
VAR_META (X_("default-session-parent-dir"),
NULL
);
VAR_META (X_("default-trigger-input-port"),
NULL
);
VAR_META (X_("denormal-model"),
NULL
);
VAR_META (X_("denormal-protection"),
NULL
);
VAR_META (X_("deprecated-hiding-groups-deactivates-groups"),
NULL
);
VAR_META (X_("disable-disarm-during-roll"),
NULL
);
VAR_META (X_("discover-plugins-on-start"),
NULL
);
VAR_META (X_("disk-choice-space-threshold"),
NULL
);
VAR_META (X_("display-first-midi-bank-as-zero"),
NULL
);
VAR_META (X_("donate-url"),
NULL
);
VAR_META (X_("edit-mode"),
NULL
);
VAR_META (X_("exclusive-solo"),
NULL
);
VAR_META (X_("export-preroll"),
NULL
);
VAR_META (X_("export-silence-threshold"),
NULL
);
VAR_META (X_("feedback-interval-ms"),
NULL
);
VAR_META (X_("group-override-inverts"),
NULL
);
VAR_META (X_("hide-dummy-backend"),
NULL
);
VAR_META (X_("history-depth"),
NULL
);
VAR_META (X_("initial-program-change"),
NULL
);
VAR_META (X_("input-auto-connect"),
NULL
);
VAR_META (X_("inter-scene-gap-samples"),
NULL
);
VAR_META (X_("interview-editing"),
NULL
);
VAR_META (X_("latched-record-enable"),
NULL
);
VAR_META (X_("layer-model"),
NULL
);
VAR_META (X_("limit-n-automatables"),
NULL
);
VAR_META (X_("link-send-and-route-panner"),
NULL
);
VAR_META (X_("listen-position"),
NULL
);
VAR_META (X_("locate-while-waiting-for-sync"),
NULL
);
VAR_META (X_("loop-fade-choice"),
NULL
);
VAR_META (X_("loop-is-mode"),
NULL
);
VAR_META (X_("ltc-output-port"),
NULL
);
VAR_META (X_("ltc-output-volume"),
NULL
);
VAR_META (X_("ltc-send-continuously"),
NULL
);
VAR_META (X_("max-gain"),
NULL
);
VAR_META (X_("max-recent-sessions"),
NULL
);
VAR_META (X_("max-recent-templates"),
NULL
);
VAR_META (X_("max-transport-speed"),
NULL
);
VAR_META (X_("meter-falloff"),
NULL
);
VAR_META (X_("meter-type-bus"),
NULL
);
VAR_META (X_("meter-type-master"),
NULL
);
VAR_META (X_("meter-type-track"),
NULL
);
VAR_META (X_("midi-audition-synth-uri"),
NULL
);
VAR_META (X_("midi-clock-sets-tempo"),
NULL
);
VAR_META (X_("midi-feedback"),
NULL
);
VAR_META (X_("midi-input-follows-selection"),
NULL
);
VAR_META (X_("midi-track-buffer-seconds"),
NULL
);
VAR_META (X_("minimum-disk-read-bytes"),
NULL
);
VAR_META (X_("minimum-disk-write-bytes"),
NULL
);
VAR_META (X_("mmc-control"),
NULL
);
VAR_META (X_("mmc-receive-device-id"),
NULL
);
VAR_META (X_("mmc-send-device-id"),
NULL
);
VAR_META (X_("monitor-bus-preferred-bundle"),
NULL
);
VAR_META (X_("monitoring-model"),
NULL
);
VAR_META (X_("mtc-qf-speed-tolerance"),
NULL
);
VAR_META (X_("mute-affects-control-outs"),
NULL
);
VAR_META (X_("mute-affects-main-outs"),
NULL
);
VAR_META (X_("mute-affects-post-fader"),
NULL
);
VAR_META (X_("mute-affects-pre-fader"),
NULL
);
VAR_META (X_("new-plugins-active"),
NULL
);
VAR_META (X_("osc-port"),
NULL
);
VAR_META (X_("output-auto-connect"),
NULL
);
VAR_META (X_("periodic-safety-backup-interval"),
NULL
);
VAR_META (X_("periodic-safety-backups"),
NULL
);
VAR_META (X_("pfl-position"),
NULL
);
VAR_META (X_("pingback-url"),
NULL
);
VAR_META (X_("playback-buffer-seconds"),
NULL
);
VAR_META (X_("plugin-cache-version"),
NULL
);
VAR_META (X_("plugin-path-lxvst"),
NULL
);
VAR_META (X_("plugin-path-vst"),
NULL
);
VAR_META (X_("plugin-path-vst3"),
NULL
);
VAR_META (X_("plugin-scan-timeout"),
NULL
);
VAR_META (X_("plugins-stop-with-transport"),
NULL
);
VAR_META (X_("port-resampler-quality"),
NULL
);
VAR_META (X_("preroll-seconds"),
NULL
);
VAR_META (X_("processor-usage"),
NULL
);
VAR_META (X_("quieten-at-speed"),
NULL
);
VAR_META (X_("range-location-minimum"),
NULL
);
VAR_META (X_("range-selection-after-split"),
NULL
);
VAR_META (X_("recording-resets-xrun-count"),
NULL
);
VAR_META (X_("reference-manual-url"),
NULL
);
VAR_META (X_("region-boundaries-from-onscreen_tracks"),
NULL
);
VAR_META (X_("region-boundaries-from-selected-tracks"),
NULL
);
VAR_META (X_("region-equivalency"),
NULL
);
VAR_META (X_("region-selection-after-split"),
NULL
);
VAR_META (X_("replicate-missing-region-channels"),
NULL
);
VAR_META (X_("reset-default-speed-on-stop"),
NULL
);
VAR_META (X_("resource-index-url"),
NULL
);
VAR_META (X_("rewind-ffwd-like-tape-decks"),
NULL
);
VAR_META (X_("ripple-mode"),
NULL
);
VAR_META (X_("run-all-transport-masters-always"),
NULL
);
VAR_META (X_("sample-lib-path"),
NULL
);
VAR_META (X_("save-history"),
NULL
);
VAR_META (X_("save-history-depth"),
NULL
);
VAR_META (X_("send-ltc"),
NULL
);
VAR_META (X_("send-midi-clock"),
NULL
);
VAR_META (X_("send-mmc"),
NULL
);
VAR_META (X_("send-mtc"),
NULL
);
VAR_META (X_("show-solo-mutes"),
NULL
);
VAR_META (X_("show-video-server-dialog"),
NULL
);
VAR_META (X_("show-vst3-micro-edit-inline"),
NULL
);
VAR_META (X_("shuttle-max-speed"),
NULL
);
VAR_META (X_("shuttle-speed-factor"),
NULL
);
VAR_META (X_("shuttle-speed-threshold"),
NULL
);
VAR_META (X_("shuttle-units"),
NULL
);
VAR_META (X_("skip-playback"),
NULL
);
VAR_META (X_("solo-control-is-listen-control"),
NULL
);
VAR_META (X_("solo-mute-gain"),
NULL
);
VAR_META (X_("solo-mute-override"),
NULL
);
VAR_META (X_("stop-at-session-end"),
NULL
);
VAR_META (X_("stop-recording-on-xrun"),
NULL
);
VAR_META (X_("strict-io"),
NULL
);
VAR_META (X_("timecode-sync-frame-rate"),
NULL
);
VAR_META (X_("trace-midi-input"),
NULL
);
VAR_META (X_("trace-midi-output"),
NULL
);
VAR_META (X_("tracks-auto-naming"),
NULL
);
VAR_META (X_("transient-sensitivity"),
NULL
);
VAR_META (X_("transport-masters-just-roll-when-sync-lost"),
NULL
);
VAR_META (X_("try-autostart-engine"),
NULL
);
VAR_META (X_("tutorial-manual-url"),
NULL
);
VAR_META (X_("updates-url"),
NULL
);
VAR_META (X_("use-audio-units"),
NULL
);
VAR_META (X_("use-click-emphasis"),
NULL
);
VAR_META (X_("use-lxvst"),
NULL
);
VAR_META (X_("use-macvst"),
NULL
);
VAR_META (X_("use-master-volume"),
NULL
);
VAR_META (X_("use-monitor-bus"),
NULL
);
VAR_META (X_("use-osc"),
NULL
);
VAR_META (X_("use-plugin-own-gui"),
NULL
);
VAR_META (X_("use-tranzport"),
NULL
);
VAR_META (X_("use-vst3"),
NULL
);
VAR_META (X_("use-windows-vst"),
NULL
);
VAR_META (X_("verbose-plugin-scan"),
NULL
);
VAR_META (X_("verify-remove-last-capture"),
NULL
);
VAR_META (X_("video-advanced-setup"),
NULL
);
VAR_META (X_("video-server-docroot"),
NULL
);
VAR_META (X_("video-server-url"),
NULL
);
VAR_META (X_("work-around-jack-no-copy-optimization"),
NULL
);
VAR_META (X_("xjadeo-binary"), NULL);
}

View File

@ -48,9 +48,23 @@ SessionConfiguration::SessionConfiguration ()
#include "ardour/session_configuration_vars.h"
#undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL
foo (0)
foo (0) // needed because above macros end in a comma
{
/* Uncomment the following to get a list of all config variables */
#if 0
#undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL
#define CONFIG_VARIABLE(Type,var,name,value) _my_variables.insert (std::make_pair ((name), &(var)));
#define CONFIG_VARIABLE_SPECIAL(Type,var,name,value,mutator) _my_variables.insert (std::make_pair ((name), &(var)));
#include "ardour/session_configuration_vars.h"
#undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL
for (auto const & s : _my_variables) {
std::cerr << s.first << std::endl;
}
#endif
}
XMLNode&