You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3KB

  1. #!/bin/bash
  2. MODULE=$1
  3. HP=$2
  4. CLASS=$3
  5. if [ "x$MODULE" == "x" ] || [ "x$HP" == "x" ]
  6. then
  7. echo "Usage: $0 <module name> <width in HP> [param class]" 1>&2
  8. exit 1
  9. fi
  10. if [ "x$CLASS" == "x" ]
  11. then
  12. CLASS=Knob26
  13. fi
  14. WIDGETS="./scripts/svg_widgets.rb"
  15. HPP_OUT="./src/$MODULE.hpp"
  16. CPP_OUT="./src/$MODULE.cpp"
  17. ($WIDGETS ./res-src/$MODULE-src.svg --stub-hpp --module=$MODULE --plugin=Bogaudio --manufacturer=Bogaudio --hp=$HP --param-class=$CLASS | ruby -e 's = STDIN.read; s.sub!(/\/\* For.*?\*\/\s*/m, ""); puts s' > $HPP_OUT) || exit 1
  18. echo "Wrote: $HPP_OUT"
  19. ($WIDGETS ./res-src/$MODULE-src.svg --stub-cpp --module=$MODULE --plugin=Bogaudio --manufacturer=Bogaudio --hp=$HP --param-class=$CLASS > $CPP_OUT) || exit 1
  20. echo "Wrote: $CPP_OUT"
  21. PLUGIN="./src/bogaudio.cpp"
  22. if [ -e $PLUGIN ]
  23. then
  24. if [ "x$(grep NEW_INCLUDES_HERE $PLUGIN)" != "x" ]
  25. then
  26. INCLUDE="#include \"$MODULE.hpp\""
  27. echo Patching $PLUGIN with: $INCLUDE
  28. ruby -e "s = File.read('$PLUGIN'); s.sub!(/\/\/NEW_INCLUDES_HERE/, %Q{$INCLUDE\n//NEW_INCLUDES_HERE}); File.write('$PLUGIN', s)"
  29. fi
  30. if [ "x$(grep NEW_MODELS_HERE $PLUGIN)" != "x" ]
  31. then
  32. MODEL="p->addModel(model$MODULE);"
  33. echo Patching $PLUGIN with: $MODEL
  34. ruby -e "s = File.read('$PLUGIN'); s.sub!(/\/\/NEW_MODELS_HERE/, %Q{$MODEL\n\t//NEW_MODELS_HERE}); File.write('$PLUGIN', s)"
  35. fi
  36. fi