From f93e629e6726ba54c5acf922339f8517ec57503a Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 22 Feb 2002 15:09:23 +0000 Subject: pull good old filterstamp back out of the attic Original commit message from CVS: pull good old filterstamp back out of the attic --- tools/README.filterstamp | 24 ++++++++++++++++++++ tools/filterstamp.sh | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 tools/README.filterstamp create mode 100755 tools/filterstamp.sh diff --git a/tools/README.filterstamp b/tools/README.filterstamp new file mode 100644 index 000000000..a7b3d21e6 --- /dev/null +++ b/tools/README.filterstamp @@ -0,0 +1,24 @@ +filterstamp.sh is a script to copy a filter and change filenames and all +occurrences of the old name to the new name. + +This is used for writing new audio filters. The best one to copy for now is +passthrough; it works on raw/audio int or float data. + +If your new filter is called StereoPan, for example, then do this : + +cd gst +../tools/filterstamp.sh Passthrough StereoPan +cd stereopan +make + +(Please note the upper- and lower-case !) + +You should also add a line to configure.ac to make sure the Makefiles are built +correctly. Just search for "passthrough" and add corresponding "stereopan" (or +whatever your plugin is) lines. + +Register it, then try it out. It shouldn't do anything ! + +Now edit the filter.func in the new directory; this file contains the body +of the main processing loop. + diff --git a/tools/filterstamp.sh b/tools/filterstamp.sh new file mode 100755 index 000000000..56b3d8d9a --- /dev/null +++ b/tools/filterstamp.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# copies from gstreamer filter boilerplate +# to new filter +# changing file names and function references + +# thomas@apestaart.org + +# modified 23 aug 2001 apwingo@eos.ncsu.edu: +# conform better to gtk naming conventions (GstFoo->gst_foo in functions, etc) + +if [ "$1" = "" ] +then + echo "please specify the filter to copy FROM (e.g. Passthrough)" + exit +fi + +if [ "$2" = "" ] +then + echo "please specify the filter to copy TO (e.g. NewFilter)" + exit +fi + +FROM=$1 +TO=$2 +FROM_LC=`echo $FROM | tr [A-Z] [a-z]` +TO_LC=`echo $TO | tr [A-Z] [a-z]` +FROM_UC=`echo $FROM | tr [a-z] [A-Z]` +TO_UC=`echo $TO | tr [a-z] [A-Z]` +FROM_LC_UNDERSCORE=`echo $FROM | perl -n -p -e 's/([a-z])([A-Z])/$1_$2/g; tr/A-Z/a-z/'` +TO_LC_UNDERSCORE=`echo $TO | perl -n -p -e 's/([a-z])([A-Z])/$1_$2/g; tr/A-Z/a-z/'` + +echo "Copying filter boilerplate $FROM to new filter $TO..." + +if [ ! -d $FROM_LC ] +then + echo "Filter directory $FROM_LC does not exist !" + exit +fi + +if [ -d $TO_LC ] +then + echo "Filter directory $TO_LC already exists !" + exit +fi + +cp -r $FROM_LC $TO_LC + +cd $TO_LC + +for a in *$FROM_LC*; do mv $a `echo $a | sed s/$FROM_LC/$TO_LC/g`; done + +perl -i -p -e "s/$FROM/$TO/g" * +perl -i -p -e "s/${FROM_LC_UNDERSCORE}_/${TO_LC_UNDERSCORE}_/g" * +perl -i -p -e "s/$FROM_LC/$TO_LC/g" * +perl -i -p -e "s/$FROM_UC/$TO_UC/g" * + -- cgit v1.2.3