-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathnew_plugin.sh
More file actions
executable file
·31 lines (24 loc) · 1.11 KB
/
new_plugin.sh
File metadata and controls
executable file
·31 lines (24 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/local/bin/bash
# Script for generating lv2 templates and plugin project folder.
# The name of the project is taken as input.
plugin_name_input=$1
snake_var=${plugin_name_input,,}
pascal_var=""
IFS='_' read -ra ADDR <<< ${snake_var}
for i in "${ADDR[@]}"; do
pascal_var+=${i^}
done
base_folder=${snake_var}
[ ! -d "${snake_var}" ] && mkdir -p "${base_folder}"
cp plugin_template/{template.ttl,template.c,version.txt} ${base_folder}
mv ${base_folder}/template.ttl ${base_folder}/${snake_var}.ttl
mv ${base_folder}/template.c ${base_folder}/${snake_var}.c
sed -i '' 's/\<TypeNamePlaceholder\>/'${pascal_var}'/g' ${base_folder}/${snake_var}.c
sed -i '' 's/\<TypeNamePlaceholder\>/'${pascal_var}'/g' ${base_folder}/${snake_var}.ttl
sed -i '' 's/plugin_name_placeholder/'${snake_var}'/g' ${base_folder}/${snake_var}.c
sed -i '' 's/plugin_name_placeholder/'${snake_var}'/g' ${base_folder}/${snake_var}.ttl
sed -i '' 's/PLUGIN_NAME_PLACEHOLDER/'${snake_var^^}'/g' ${base_folder}/${snake_var}.c
# Add line to CMakeLists.txt
sed -i '' '/^\# END of list of plugins/i\
add_plugin\('${snake_var}'\)
' CMakeLists.txt