a bunch of config remaps & things

This commit is contained in:
2026-05-05 14:17:43 -06:00
parent afaae932cd
commit 5528d67234
45 changed files with 280 additions and 114 deletions
+4
View File
@@ -6,3 +6,7 @@ media-sync:
.ENVIRONMENT: MEDIA_SYNC__S3_BUCKET
targets:
.ENVIRONMENT: MEDIA_SYNC__TARGETS
mscore:
scores-path:
.ENVIRONMENT: MSCORE__SCORES_PATH
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env zsh
#####################################################################
use audio/play-sfx --group media
use --group media audio/play-sfx
#####################################################################
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/zsh
#####################################################################
use audio/pulseaudio/volume --group media
use --group media audio/pulseaudio/volume
#####################################################################
@@ -2,7 +2,7 @@
#####################################################################
use notify
use audio/play-sfx --group media
use --group media audio/play-sfx
DEPENDENCIES+=(pactl)
+3 -3
View File
@@ -4,11 +4,11 @@
# synchronize cloud media with configured targets
use cloud/synchronize --group media
use --group media cloud/synchronize
# synchronize cloud media with a specific target
use cloud/synchronize-target --group media
use --group media cloud/synchronize-target
# common parsers
use cloud/zshparse --group media
use --group media cloud/zshparse
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env zsh
#####################################################################
use cloud --group media
use --group media cloud
#####################################################################
@@ -3,7 +3,7 @@
REQUIRED_ENV+=(MEDIA_SYNC__S3_BUCKET)
use cloud/aws
use cloud/zshparse/actions --group media
use --group media cloud/zshparse/actions
#####################################################################
+2 -2
View File
@@ -2,8 +2,8 @@
REQUIRED_ENV+=(MEDIA_SYNC__TARGETS)
use cloud/synchronize-target --group media
use cloud/zshparse/actions --group media
use --group media cloud/synchronize-target
use --group media cloud/zshparse/actions
#####################################################################
@@ -2,4 +2,4 @@
# common parsers for cloud media synchronization
#
use cloud/zshparse/actions --group media
use --group media cloud/zshparse/actions
+2 -2
View File
@@ -5,5 +5,5 @@
DEPENDENCIES+=(ffmpeg)
use ffmpeg/get-audio-clip-from-video --group media
use ffmpeg/get-video-length-seconds --group media
use --group media ffmpeg/get-audio-clip-from-video
use --group media ffmpeg/get-video-length-seconds
@@ -2,7 +2,7 @@
DEPENDENCIES+=(ffmpeg)
use ffmpeg/get-video-length-seconds --group media
use --group media ffmpeg/get-video-length-seconds
#####################################################################
+9
View File
@@ -0,0 +1,9 @@
#####################################################################
DEPENDENCIES+=(mscore)
#####################################################################
${scwryptsmodule}.cli() {
QT_QPA_PLATFORM=offscreen mscore $@
}
+14
View File
@@ -0,0 +1,14 @@
#
# render / upload tools for MuseScore
#
# context wrapper for MuseScore CLI
use --group media mscore/cli
eval "${scwryptsmodule}() { ${scwryptsmodule}.cli \$@; }"
# render pdf from MuseScore file
use --group media mscore/render
# common parsers
use --group media mscore/zshparse
+23
View File
@@ -0,0 +1,23 @@
#####################################################################
use --group media mscore/cli
use --group media mscore/zshparse/filename
#####################################################################
${scwryptsmodule}.pdf() {
eval "$(USAGE.reset)"
local \
MSCORE_FILENAME \
PARSERS=(
media.mscore.zshparse.filename
)
eval "$ZSHPARSEARGS"
##########################################
}
@@ -0,0 +1,72 @@
REQUIRED_ENV+=(MSCORE__SCORES_PATH)
${scwryptsmodule}() {
# local MSCORE_FILENAME
local PARSED=0
case $1 in
( --filename )
PARSED=2
MSCORE_FILENAME="$2"
;;
esac
return $PARSED
}
#####################################################################
${scwryptsmodule}.usage() {
USAGE__options+="
--filename <string> a valid mscore filename
"
}
${scwryptsmodule}.validate() {
case "${MSCORE_FILENAME}" in
( '' )
MSCORE__SCORES_PATH
MSCORE_FILENAME="$(cd "${MSCORE__SCORES_PATH}"; find . -type f | grep '\.msc[zx]$' | utils.fzf 'select a score')"
[ "${MSCORE_FILENAME}" ] && [ -f "${MSCORE__SCORES_PATH}/${MSCORE_FILENAME}" ] \
|| ERROR "invalid score '${MSCORE_FILENAME}'"
MSCORE_FILENAME="${MSCORE__SCORES_PATH}/${MSCORE_FILENAME}"
;;
( * )
[ -f "${MSCORE_FILENAME}" ] \
|| ERROR "no score '${MSCORE_FILENAME}' exists"
;;
esac
[[ ${ERRORS} -eq 0 ]] || return
local TEMP_PATH="${SCWRYPTS_TEMP_PATH}/mscore"
local MSCORE_BASENAME="$(basename -- ${MSCORE_FILENAME} | sed 's/\.[^.]*$//')"
local TEMP_FILE="${TEMP_PATH}/${MSCORE_BASENAME}.mscx"
case "${MSCORE_FILENAME}" in
( *.mscz )
mkdir -p "${TEMP_PATH}/zip"
{
cp "${MSCORE_FILENAME}" "${TEMP_PATH}/zip/${MSCORE_BASENAME}.zip"
cd "${TEMP_PATH}/zip"
unzip "${MSCORE_BASENAME}.zip"
cp "./${MSCORE_BASENAME}.mscx" "${TEMP_FILE}"
}
;;
( *.mscx )
mkdir -p "${TEMP_PATH}"
cp "${MSCORE_FILENAME}" "${TEMP_FILE}"
;;
esac
[ -f "${TEMP_FILE}" ] \
&& MSCORE_FILENAME="${TEMP_FILE}" \
|| ERROR "failed to extract '${TEMP_FILE}'" \
|| MSCORE_FILENAME='' \
;
}
@@ -0,0 +1,6 @@
#
# common parsers for MuseScore actions
#
# helpers to get/select filenames for MuseScore
use --group media mscore/zshparse/filename
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/zsh
#####################################################################
use youtube --group media
use --group media youtube
#####################################################################
+3 -3
View File
@@ -1,8 +1,8 @@
#####################################################################
use youtube/yt-dlp --group media
use youtube/get-filename --group media
use youtube/get-download-path --group media
use --group media youtube/yt-dlp
use --group media youtube/get-filename
use --group media youtube/get-download-path
#####################################################################
+2 -2
View File
@@ -1,7 +1,7 @@
#!/bin/zsh
use ffmpeg/get-audio-clip-from-video --group media
use youtube/get-download-path --group media
use --group media ffmpeg/get-audio-clip-from-video
use --group media youtube/get-download-path
#####################################################################
@@ -1,6 +1,6 @@
#####################################################################
use youtube/yt-dlp --group media
use --group media youtube/yt-dlp
#####################################################################
+3 -3
View File
@@ -4,12 +4,12 @@
# download a youtube video by URL
use youtube/download --group media
use --group media youtube/download
# show fully-qualified path to downloads
use youtube/get-download-path --group media
use --group media youtube/get-download-path
# interact with yt-dlp directly
use youtube/yt-dlp --group media
use --group media youtube/yt-dlp
+1 -1
View File
@@ -1,6 +1,6 @@
#####################################################################
use youtube/get-download-path --group media
use --group media youtube/get-download-path
#####################################################################