Commit f93e629e authored by Andy Wingo's avatar Andy Wingo
Browse files

pull good old filterstamp back out of the attic

Original commit message from CVS:
pull good old filterstamp back out of the attic
parent 60967053
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.
#!/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" *
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment