pull good old filterstamp back out of the attic

Original commit message from CVS:
pull good old filterstamp back out of the attic
This commit is contained in:
Andy Wingo 2002-02-22 15:09:23 +00:00
parent 609670533c
commit f93e629e67
2 changed files with 81 additions and 0 deletions

24
tools/README.filterstamp Normal file
View file

@ -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.

57
tools/filterstamp.sh Executable file
View file

@ -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" *