make_voice_list 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/sh
  2. #####################################################-*-mode:shell-script-*-
  3. ## ##
  4. ## Language Technologies Institute ##
  5. ## Copyright (c) 2008 ##
  6. ## All Rights Reserved. ##
  7. ## ##
  8. ## Permission is hereby granted, free of charge, to use and distribute ##
  9. ## this software and its documentation without restriction, including ##
  10. ## without limitation the rights to use, copy, modify, merge, publish, ##
  11. ## distribute, sublicense, and/or sell copies of this work, and to ##
  12. ## permit persons to whom this work is furnished to do so, subject to ##
  13. ## the following conditions: ##
  14. ## 1. The code must retain the above copyright notice, this list of ##
  15. ## conditions and the following disclaimer. ##
  16. ## 2. Any modifications must be clearly marked as such. ##
  17. ## 3. Original authors' names are not deleted. ##
  18. ## 4. The authors' names are not used to endorse or promote products ##
  19. ## derived from this software without specific prior written ##
  20. ## permission. ##
  21. ## ##
  22. ## CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK ##
  23. ## DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ##
  24. ## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ##
  25. ## SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE ##
  26. ## FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ##
  27. ## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ##
  28. ## AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ##
  29. ## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ##
  30. ## THIS SOFTWARE. ##
  31. ## ##
  32. ###########################################################################
  33. ## ##
  34. ## Build a compilable C file with a list of the available voices ##
  35. ## ##
  36. ###########################################################################
  37. rm -f flite_voice_list.c
  38. echo "/* Generated automatically from make_voice_list */" >flite_voice_list.c
  39. echo >>flite_voice_list.c
  40. echo '#include "flite.h"' >>flite_voice_list.c
  41. echo >>flite_voice_list.c
  42. for i in $*
  43. do
  44. echo "cst_voice *register_"$i"(const char *voxdir);">>flite_voice_list.c
  45. done
  46. echo >>flite_voice_list.c
  47. echo "cst_val *flite_set_voice_list(const char *voxdir)" >>flite_voice_list.c
  48. echo "{" >>flite_voice_list.c
  49. for i in $*
  50. do
  51. echo " flite_voice_list = cons_val(voice_val(register_"$i"(voxdir)),flite_voice_list);" >>flite_voice_list.c
  52. done
  53. echo " flite_voice_list = val_reverse(flite_voice_list);" >>flite_voice_list.c
  54. echo " return flite_voice_list;" >>flite_voice_list.c
  55. echo "}" >>flite_voice_list.c
  56. echo >>flite_voice_list.c