Merge branch 'feat/author-field'
Separate cargo AUTHOR from Plugin::VENDOR and rewrite known sites from the table before falling back to value substitution.
This commit is contained in:
+82
-39
@@ -30,13 +30,13 @@ cd "$(dirname "$0")/.." || exit 1
|
|||||||
. ./tools/branding.conf
|
. ./tools/branding.conf
|
||||||
|
|
||||||
OLD_PKG="$PKG"; OLD_DISPLAY="$DISPLAY"; OLD_PLUGIN_NAME="$PLUGIN_NAME"
|
OLD_PKG="$PKG"; OLD_DISPLAY="$DISPLAY"; OLD_PLUGIN_NAME="$PLUGIN_NAME"
|
||||||
OLD_VENDOR="$VENDOR"; OLD_EMAIL="$EMAIL"; OLD_HOMEPAGE="$HOMEPAGE"
|
OLD_VENDOR="$VENDOR"; OLD_EMAIL="$EMAIL"; OLD_HOMEPAGE="$HOMEPAGE"; OLD_AUTHOR="$AUTHOR"
|
||||||
OLD_DESCRIPTION="$DESCRIPTION"; OLD_CLAP_DESCRIPTION="$CLAP_DESCRIPTION"
|
OLD_DESCRIPTION="$DESCRIPTION"; OLD_CLAP_DESCRIPTION="$CLAP_DESCRIPTION"
|
||||||
OLD_CLAP_ID="$CLAP_ID"; OLD_VST3="$VST3_CLASS_ID"
|
OLD_CLAP_ID="$CLAP_ID"; OLD_VST3="$VST3_CLASS_ID"
|
||||||
OLD_STRUCT="$STRUCT"; OLD_PARAMS_STRUCT="$PARAMS_STRUCT"
|
OLD_STRUCT="$STRUCT"; OLD_PARAMS_STRUCT="$PARAMS_STRUCT"
|
||||||
|
|
||||||
new_display=""; new_pkg=""; new_vendor=""; new_email=""; new_homepage=""
|
new_display=""; new_pkg=""; new_vendor=""; new_email=""; new_homepage=""
|
||||||
new_description=""; new_clap_description=""; new_struct=""
|
new_description=""; new_clap_description=""; new_struct=""; new_author=""
|
||||||
new_clap_id=""; new_vst3=""; apply=0; allow_identity=0
|
new_clap_id=""; new_vst3=""; apply=0; allow_identity=0
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
@@ -44,6 +44,7 @@ while [ $# -gt 0 ]; do
|
|||||||
--display) new_display="${2:?}"; shift 2 ;;
|
--display) new_display="${2:?}"; shift 2 ;;
|
||||||
--pkg) new_pkg="${2:?}"; shift 2 ;;
|
--pkg) new_pkg="${2:?}"; shift 2 ;;
|
||||||
--vendor) new_vendor="${2:?}"; shift 2 ;;
|
--vendor) new_vendor="${2:?}"; shift 2 ;;
|
||||||
|
--author) new_author="${2:?}"; shift 2 ;;
|
||||||
--email) new_email="${2:?}"; shift 2 ;;
|
--email) new_email="${2:?}"; shift 2 ;;
|
||||||
--homepage) new_homepage="${2:?}"; shift 2 ;;
|
--homepage) new_homepage="${2:?}"; shift 2 ;;
|
||||||
--description) new_description="${2:?}"; shift 2 ;;
|
--description) new_description="${2:?}"; shift 2 ;;
|
||||||
@@ -72,7 +73,8 @@ ask() { # ask VARNAME PROMPT CURRENT
|
|||||||
if [ -z "$new_display" ] && [ -t 0 ] && [ -c /dev/tty ]; then
|
if [ -z "$new_display" ] && [ -t 0 ] && [ -c /dev/tty ]; then
|
||||||
printf 'branding this plugin - Enter keeps the current value, "-" clears an optional one\n\n'
|
printf 'branding this plugin - Enter keeps the current value, "-" clears an optional one\n\n'
|
||||||
ask new_display "display name " "$OLD_DISPLAY"
|
ask new_display "display name " "$OLD_DISPLAY"
|
||||||
ask new_vendor "vendor " "$OLD_VENDOR"
|
ask new_vendor "vendor (org) " "$OLD_VENDOR"
|
||||||
|
ask new_author "cargo author " "$OLD_AUTHOR"
|
||||||
ask new_email "email " "$OLD_EMAIL"
|
ask new_email "email " "$OLD_EMAIL"
|
||||||
ask new_homepage "homepage " "$OLD_HOMEPAGE"
|
ask new_homepage "homepage " "$OLD_HOMEPAGE"
|
||||||
ask new_description "cargo description" "$OLD_DESCRIPTION"
|
ask new_description "cargo description" "$OLD_DESCRIPTION"
|
||||||
@@ -99,6 +101,7 @@ derive_struct() {
|
|||||||
[ -n "$new_struct" ] || new_struct=$(derive_struct "$new_display")
|
[ -n "$new_struct" ] || new_struct=$(derive_struct "$new_display")
|
||||||
new_params_struct="${new_struct}Params"
|
new_params_struct="${new_struct}Params"
|
||||||
[ -n "$new_vendor" ] || new_vendor="$OLD_VENDOR"
|
[ -n "$new_vendor" ] || new_vendor="$OLD_VENDOR"
|
||||||
|
[ -n "$new_author" ] || new_author="$OLD_AUTHOR"
|
||||||
[ -n "$new_email" ] || new_email="$OLD_EMAIL"
|
[ -n "$new_email" ] || new_email="$OLD_EMAIL"
|
||||||
[ -n "$new_homepage" ] || new_homepage="$OLD_HOMEPAGE"
|
[ -n "$new_homepage" ] || new_homepage="$OLD_HOMEPAGE"
|
||||||
[ -n "$new_description" ] || new_description="$OLD_DESCRIPTION"
|
[ -n "$new_description" ] || new_description="$OLD_DESCRIPTION"
|
||||||
@@ -158,6 +161,7 @@ row "package" "$OLD_PKG" "$new_pkg"
|
|||||||
row "display" "$OLD_DISPLAY" "$new_display"
|
row "display" "$OLD_DISPLAY" "$new_display"
|
||||||
row "Plugin::NAME" "$OLD_PLUGIN_NAME" "$new_display"
|
row "Plugin::NAME" "$OLD_PLUGIN_NAME" "$new_display"
|
||||||
row "vendor" "$OLD_VENDOR" "$new_vendor"
|
row "vendor" "$OLD_VENDOR" "$new_vendor"
|
||||||
|
row "cargo author" "$OLD_AUTHOR" "$new_author"
|
||||||
row "email" "$OLD_EMAIL" "$new_email"
|
row "email" "$OLD_EMAIL" "$new_email"
|
||||||
row "homepage" "$OLD_HOMEPAGE" "$new_homepage"
|
row "homepage" "$OLD_HOMEPAGE" "$new_homepage"
|
||||||
row "description" "$OLD_DESCRIPTION" "$new_description"
|
row "description" "$OLD_DESCRIPTION" "$new_description"
|
||||||
@@ -183,12 +187,75 @@ if [ "$apply" -eq 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# --- apply ------------------------------------------------------------------
|
# --- apply ------------------------------------------------------------------
|
||||||
|
# Three scratch files, one trap: the regenerated site table, the rows carried
|
||||||
|
# through from the old one, and the value-substitution pairs.
|
||||||
|
gen="$(mktemp)"; keep="$(mktemp)"; subst_file="$(mktemp)"
|
||||||
|
trap 'rm -f "$gen" "$keep" "$subst_file"' EXIT
|
||||||
|
|
||||||
|
T="$(printf '\t')"
|
||||||
|
{
|
||||||
|
printf 'req%spkg.cargo%sCargo.toml%sname = "%s"\n' "$T" "$T" "$T" "$new_pkg"
|
||||||
|
printf 'req%spkg.bundler%sbundler.toml%s[%s]\n' "$T" "$T" "$T" "$new_pkg"
|
||||||
|
printf 'opt%spkg.lock%sCargo.lock%sname = "%s"\n' "$T" "$T" "$T" "$new_pkg"
|
||||||
|
printf 'opt%spkg.ci%s.github/workflows/ci.yaml%scargo xtask bundle %s\n' "$T" "$T" "$T" "$new_pkg"
|
||||||
|
printf 'opt%spkg.readme%sREADME.md%scargo xtask bundle %s\n' "$T" "$T" "$T" "$new_pkg"
|
||||||
|
printf 'req%sdisplay.bundler%sbundler.toml%sname = "%s"\n' "$T" "$T" "$T" "$new_display"
|
||||||
|
printf 'opt%sdisplay.notice%sNOTICE%s%s\n' "$T" "$T" "$T" "$new_display"
|
||||||
|
printf 'req%sname.plugin%s%s%sconst NAME: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_display"
|
||||||
|
printf 'req%svendor.plugin%s%s%sconst VENDOR: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_vendor"
|
||||||
|
printf 'req%semail.plugin%s%s%sconst EMAIL: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_email"
|
||||||
|
printf 'req%sauthors.cargo%sCargo.toml%sauthors = ["%s <%s>"]\n' "$T" "$T" "$T" "$new_author" "$new_email"
|
||||||
|
printf 'req%shomepage.cargo%sCargo.toml%shomepage = "%s"\n' "$T" "$T" "$T" "$new_homepage"
|
||||||
|
printf 'req%surl.plugin%s%s%sconst URL: &'"'"'static str = env!("CARGO_PKG_HOMEPAGE")\n' "$T" "$T" "$LIB_FILE" "$T"
|
||||||
|
printf 'req%sdescription.cargo%sCargo.toml%sdescription = "%s"\n' "$T" "$T" "$T" "$new_description"
|
||||||
|
printf 'req%sdescription.clap%s%s%sconst CLAP_DESCRIPTION: Option<&'"'"'static str> = Some("%s")\n' "$T" "$T" "$LIB_FILE" "$T" "$new_clap_description"
|
||||||
|
printf 'req%sclapid.plugin%s%s%sconst CLAP_ID: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_clap_id"
|
||||||
|
printf 'req%svst3id.plugin%s%s%sconst VST3_CLASS_ID: [u8; 16] = *b"%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_vst3"
|
||||||
|
printf 'req%sstruct.def%s%s%sstruct %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
||||||
|
printf 'req%sstruct.plugin%s%s%simpl Plugin for %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
||||||
|
printf 'req%sstruct.clap%s%s%simpl ClapPlugin for %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
||||||
|
printf 'req%sstruct.vst3%s%s%simpl Vst3Plugin for %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
||||||
|
printf 'req%sstruct.exportclap%s%s%snih_export_clap!(%s);\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
||||||
|
printf 'req%sstruct.exportvst3%s%s%snih_export_vst3!(%s);\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
||||||
|
printf 'req%sparams.def%s%s%sstruct %s {\n' "$T" "$T" "$PARAMS_FILE" "$T" "$new_params_struct"
|
||||||
|
printf 'req%sparams.default%s%s%simpl Default for %s {\n' "$T" "$T" "$PARAMS_FILE" "$T" "$new_params_struct"
|
||||||
|
printf 'req%sparams.field%s%s%sparams: Arc<%s>,\n' "$T" "$T" "$LIB_FILE" "$T" "$new_params_struct"
|
||||||
|
printf 'opt%sdeploy.pkg%sdeploy.ps1%s$Package = "%s"\n' "$T" "$T" "$T" "$new_pkg"
|
||||||
|
printf 'opt%sdeploy.vst3%sdeploy.ps1%s$vst3Name = "%s.vst3"\n' "$T" "$T" "$T" "$new_display"
|
||||||
|
printf 'opt%sdeploy.clap%sdeploy.ps1%s$clapName = "%s.clap"\n' "$T" "$T" "$T" "$new_display"
|
||||||
|
} > "$gen"
|
||||||
|
|
||||||
|
# Pass 1 - site-directed. Each owned row in the existing table carries the OLD
|
||||||
|
# resolved literal for its site; the regenerated row carries the new one. Rewriting
|
||||||
|
# by that pair is unambiguous, which plain value substitution is not: AUTHOR
|
||||||
|
# defaults to VENDOR, so both fields can hold the same old string and a global
|
||||||
|
# replace cannot tell which occurrence belongs to which. This must run BEFORE
|
||||||
|
# pass 2, or the global replace consumes the old literals first and leaves the
|
||||||
|
# precise rewrite with nothing to match.
|
||||||
|
sites="tools/branding-sites.tsv"
|
||||||
|
T="$(printf '\t')"
|
||||||
|
if [ -f "$sites" ]; then
|
||||||
|
while IFS="$T" read -r ok_ oo_ of_ op_; do
|
||||||
|
case "$ok_" in ''|\#*) continue ;; esac
|
||||||
|
np_=$(awk -F"$T" -v o="$oo_" '$2==o {print $4; exit}' "$gen")
|
||||||
|
[ -n "$np_" ] || continue
|
||||||
|
[ "$np_" != "$op_" ] || continue
|
||||||
|
[ -f "$of_" ] || continue
|
||||||
|
esc_o=$(printf '%s' "$op_" | sed 's/[][\.*^$/|&]/\\&/g')
|
||||||
|
esc_n=$(printf '%s' "$np_" | sed 's/[\\/&|]/\\&/g')
|
||||||
|
tmp_=$(mktemp)
|
||||||
|
sed "s|$esc_o|$esc_n|g" "$of_" > "$tmp_" && cat "$tmp_" > "$of_"
|
||||||
|
rm -f "$tmp_"
|
||||||
|
done < "$sites"
|
||||||
|
printf ' pass 1: rewrote known sites from the table\n'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Pass 2 - value substitution, for everything the table does not enumerate:
|
||||||
|
# doc comments, use sites in other modules, prose in the README.
|
||||||
# Longest values first: a shorter spelling can be a substring of a longer one
|
# Longest values first: a shorter spelling can be a substring of a longer one
|
||||||
# (the package name inside a URL, say), and replacing it first would corrupt the
|
# (the package name inside a URL, say), and replacing it first would corrupt the
|
||||||
# longer match. branding.conf is excluded and rewritten wholesale below, so its
|
# longer match. branding.conf is excluded and rewritten wholesale below, so its
|
||||||
# STALE list is never rewritten into meaninglessness.
|
# STALE list is never rewritten into meaninglessness.
|
||||||
subst_file="$(mktemp)"
|
|
||||||
trap 'rm -f "$subst_file"' EXIT
|
|
||||||
{
|
{
|
||||||
printf '%s\t%s\n' "$OLD_CLAP_ID" "$new_clap_id"
|
printf '%s\t%s\n' "$OLD_CLAP_ID" "$new_clap_id"
|
||||||
printf '%s\t%s\n' "$OLD_HOMEPAGE" "$new_homepage"
|
printf '%s\t%s\n' "$OLD_HOMEPAGE" "$new_homepage"
|
||||||
@@ -200,6 +267,7 @@ trap 'rm -f "$subst_file"' EXIT
|
|||||||
printf '%s\t%s\n' "$OLD_DISPLAY" "$new_display"
|
printf '%s\t%s\n' "$OLD_DISPLAY" "$new_display"
|
||||||
printf '%s\t%s\n' "$OLD_STRUCT" "$new_struct"
|
printf '%s\t%s\n' "$OLD_STRUCT" "$new_struct"
|
||||||
printf '%s\t%s\n' "$OLD_EMAIL" "$new_email"
|
printf '%s\t%s\n' "$OLD_EMAIL" "$new_email"
|
||||||
|
printf '%s\t%s\n' "$OLD_AUTHOR" "$new_author"
|
||||||
printf '%s\t%s\n' "$OLD_VENDOR" "$new_vendor"
|
printf '%s\t%s\n' "$OLD_VENDOR" "$new_vendor"
|
||||||
printf '%s\t%s\n' "$OLD_PKG" "$new_pkg"
|
printf '%s\t%s\n' "$OLD_PKG" "$new_pkg"
|
||||||
} | awk -F'\t' '$1 != $2 { print length($1)"\t"$0 }' | sort -rn | cut -f2- > "$subst_file"
|
} | awk -F'\t' '$1 != $2 { print length($1)"\t"$0 }' | sort -rn | cut -f2- > "$subst_file"
|
||||||
@@ -233,6 +301,8 @@ sed -e "s|^PKG=.*|PKG=\"$new_pkg\"|" \
|
|||||||
-e "s|^DISPLAY=.*|DISPLAY=\"$new_display\"|" \
|
-e "s|^DISPLAY=.*|DISPLAY=\"$new_display\"|" \
|
||||||
-e "s|^PLUGIN_NAME=.*|PLUGIN_NAME=\"$new_display\"|" \
|
-e "s|^PLUGIN_NAME=.*|PLUGIN_NAME=\"$new_display\"|" \
|
||||||
-e "s|^VENDOR=.*|VENDOR=\"$new_vendor\"|" \
|
-e "s|^VENDOR=.*|VENDOR=\"$new_vendor\"|" \
|
||||||
|
-e "s|^# *AUTHOR=.*|AUTHOR=\"$new_author\"|" \
|
||||||
|
-e "s|^AUTHOR=.*|AUTHOR=\"$new_author\"|" \
|
||||||
-e "s|^EMAIL=.*|EMAIL=\"$new_email\"|" \
|
-e "s|^EMAIL=.*|EMAIL=\"$new_email\"|" \
|
||||||
-e "s|^HOMEPAGE=.*|HOMEPAGE=\"$new_homepage\"|" \
|
-e "s|^HOMEPAGE=.*|HOMEPAGE=\"$new_homepage\"|" \
|
||||||
-e "s|^DESCRIPTION=.*|DESCRIPTION=\"$new_description\"|" \
|
-e "s|^DESCRIPTION=.*|DESCRIPTION=\"$new_description\"|" \
|
||||||
@@ -244,6 +314,13 @@ sed -e "s|^PKG=.*|PKG=\"$new_pkg\"|" \
|
|||||||
tools/branding.conf > tools/branding.conf.new
|
tools/branding.conf > tools/branding.conf.new
|
||||||
{ sed '$ s/"$//' tools/branding.conf.new; printf '%s"\n' "$retired"; } > tools/branding.conf
|
{ sed '$ s/"$//' tools/branding.conf.new; printf '%s"\n' "$retired"; } > tools/branding.conf
|
||||||
rm -f tools/branding.conf.new
|
rm -f tools/branding.conf.new
|
||||||
|
if [ "$new_author" = "$new_vendor" ]; then
|
||||||
|
# Identical to VENDOR, so re-comment it: the conf should keep showing that this
|
||||||
|
# value derives rather than pinning a duplicate that then has to be maintained.
|
||||||
|
tmp_c=$(mktemp)
|
||||||
|
sed "s|^AUTHOR=.*|# AUTHOR=\"$new_author\"|" tools/branding.conf > "$tmp_c" && cat "$tmp_c" > tools/branding.conf
|
||||||
|
rm -f "$tmp_c"
|
||||||
|
fi
|
||||||
printf ' rewrote tools/branding.conf (retired spellings appended to STALE)\n'
|
printf ' rewrote tools/branding.conf (retired spellings appended to STALE)\n'
|
||||||
|
|
||||||
# Regenerate the site table. Rows whose owner this script recognises are
|
# Regenerate the site table. Rows whose owner this script recognises are
|
||||||
@@ -251,40 +328,6 @@ printf ' rewrote tools/branding.conf (retired spellings appended to STALE)\n'
|
|||||||
# custom, or added by hand for a file this template does not ship - is carried
|
# custom, or added by hand for a file this template does not ship - is carried
|
||||||
# through untouched. Clobbering those silently is how a tool stops being trusted.
|
# through untouched. Clobbering those silently is how a tool stops being trusted.
|
||||||
sites="tools/branding-sites.tsv"
|
sites="tools/branding-sites.tsv"
|
||||||
gen="$(mktemp)"; keep="$(mktemp)"
|
|
||||||
trap 'rm -f "$subst_file" "$gen" "$keep"' EXIT
|
|
||||||
T="$(printf '\t')"
|
|
||||||
{
|
|
||||||
printf 'req%spkg.cargo%sCargo.toml%sname = "%s"\n' "$T" "$T" "$T" "$new_pkg"
|
|
||||||
printf 'req%spkg.bundler%sbundler.toml%s[%s]\n' "$T" "$T" "$T" "$new_pkg"
|
|
||||||
printf 'opt%spkg.lock%sCargo.lock%sname = "%s"\n' "$T" "$T" "$T" "$new_pkg"
|
|
||||||
printf 'opt%spkg.ci%s.github/workflows/ci.yaml%scargo xtask bundle %s\n' "$T" "$T" "$T" "$new_pkg"
|
|
||||||
printf 'opt%spkg.readme%sREADME.md%scargo xtask bundle %s\n' "$T" "$T" "$T" "$new_pkg"
|
|
||||||
printf 'req%sdisplay.bundler%sbundler.toml%sname = "%s"\n' "$T" "$T" "$T" "$new_display"
|
|
||||||
printf 'opt%sdisplay.notice%sNOTICE%s%s\n' "$T" "$T" "$T" "$new_display"
|
|
||||||
printf 'req%sname.plugin%s%s%sconst NAME: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_display"
|
|
||||||
printf 'req%svendor.plugin%s%s%sconst VENDOR: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_vendor"
|
|
||||||
printf 'req%semail.plugin%s%s%sconst EMAIL: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_email"
|
|
||||||
printf 'req%sauthors.cargo%sCargo.toml%sauthors = ["%s <%s>"]\n' "$T" "$T" "$T" "$new_vendor" "$new_email"
|
|
||||||
printf 'req%shomepage.cargo%sCargo.toml%shomepage = "%s"\n' "$T" "$T" "$T" "$new_homepage"
|
|
||||||
printf 'req%surl.plugin%s%s%sconst URL: &'"'"'static str = env!("CARGO_PKG_HOMEPAGE")\n' "$T" "$T" "$LIB_FILE" "$T"
|
|
||||||
printf 'req%sdescription.cargo%sCargo.toml%sdescription = "%s"\n' "$T" "$T" "$T" "$new_description"
|
|
||||||
printf 'req%sdescription.clap%s%s%sconst CLAP_DESCRIPTION: Option<&'"'"'static str> = Some("%s")\n' "$T" "$T" "$LIB_FILE" "$T" "$new_clap_description"
|
|
||||||
printf 'req%sclapid.plugin%s%s%sconst CLAP_ID: &'"'"'static str = "%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_clap_id"
|
|
||||||
printf 'req%svst3id.plugin%s%s%sconst VST3_CLASS_ID: [u8; 16] = *b"%s"\n' "$T" "$T" "$LIB_FILE" "$T" "$new_vst3"
|
|
||||||
printf 'req%sstruct.def%s%s%sstruct %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
|
||||||
printf 'req%sstruct.plugin%s%s%simpl Plugin for %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
|
||||||
printf 'req%sstruct.clap%s%s%simpl ClapPlugin for %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
|
||||||
printf 'req%sstruct.vst3%s%s%simpl Vst3Plugin for %s {\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
|
||||||
printf 'req%sstruct.exportclap%s%s%snih_export_clap!(%s);\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
|
||||||
printf 'req%sstruct.exportvst3%s%s%snih_export_vst3!(%s);\n' "$T" "$T" "$LIB_FILE" "$T" "$new_struct"
|
|
||||||
printf 'req%sparams.def%s%s%sstruct %s {\n' "$T" "$T" "$PARAMS_FILE" "$T" "$new_params_struct"
|
|
||||||
printf 'req%sparams.default%s%s%simpl Default for %s {\n' "$T" "$T" "$PARAMS_FILE" "$T" "$new_params_struct"
|
|
||||||
printf 'req%sparams.field%s%s%sparams: Arc<%s>,\n' "$T" "$T" "$LIB_FILE" "$T" "$new_params_struct"
|
|
||||||
printf 'opt%sdeploy.pkg%sdeploy.ps1%s$Package = "%s"\n' "$T" "$T" "$T" "$new_pkg"
|
|
||||||
printf 'opt%sdeploy.vst3%sdeploy.ps1%s$vst3Name = "%s.vst3"\n' "$T" "$T" "$T" "$new_display"
|
|
||||||
printf 'opt%sdeploy.clap%sdeploy.ps1%s$clapName = "%s.clap"\n' "$T" "$T" "$T" "$new_display"
|
|
||||||
} > "$gen"
|
|
||||||
|
|
||||||
owned=$(cut -f2 "$gen")
|
owned=$(cut -f2 "$gen")
|
||||||
if [ -f "$sites" ]; then
|
if [ -f "$sites" ]; then
|
||||||
|
|||||||
@@ -26,6 +26,10 @@ _derive_struct() {
|
|||||||
PLUGIN_NAME="Plugin Name" # the one name everything else derives from
|
PLUGIN_NAME="Plugin Name" # the one name everything else derives from
|
||||||
VENDOR="Your Name" # Plugin::VENDOR - the org, not the person
|
VENDOR="Your Name" # Plugin::VENDOR - the org, not the person
|
||||||
EMAIL="your@email.com" # Plugin::EMAIL
|
EMAIL="your@email.com" # Plugin::EMAIL
|
||||||
|
# Cargo's authors entry names whoever wrote it, which is not always the vendor:
|
||||||
|
# an org ships the plugin, a person authored it. Defaults to VENDOR when the two
|
||||||
|
# are the same, which is the common case for a one-person project.
|
||||||
|
# AUTHOR="Your Name"
|
||||||
HOMEPAGE="https://github.com/YOUR-USERNAME/YOUR-PLUGIN-NAME" # -> Plugin::URL
|
HOMEPAGE="https://github.com/YOUR-USERNAME/YOUR-PLUGIN-NAME" # -> Plugin::URL
|
||||||
DESCRIPTION="A minimal NIH-plug audio plugin" # Cargo description
|
DESCRIPTION="A minimal NIH-plug audio plugin" # Cargo description
|
||||||
|
|
||||||
@@ -66,6 +70,7 @@ PKG="nih_plug_template"
|
|||||||
STRUCT="MyPlugin"
|
STRUCT="MyPlugin"
|
||||||
PARAMS_STRUCT="PluginParams"
|
PARAMS_STRUCT="PluginParams"
|
||||||
# DISPLAY="Plugin Name" # defaults to PLUGIN_NAME
|
# DISPLAY="Plugin Name" # defaults to PLUGIN_NAME
|
||||||
|
: "${AUTHOR:=$VENDOR}"
|
||||||
: "${DISPLAY:=$PLUGIN_NAME}"
|
: "${DISPLAY:=$PLUGIN_NAME}"
|
||||||
: "${PKG:=$(_derive_pkg "$PLUGIN_NAME")}"
|
: "${PKG:=$(_derive_pkg "$PLUGIN_NAME")}"
|
||||||
: "${STRUCT:=$(_derive_struct "$PLUGIN_NAME")}"
|
: "${STRUCT:=$(_derive_struct "$PLUGIN_NAME")}"
|
||||||
|
|||||||
Reference in New Issue
Block a user