From: Andy W. <wi...@us...> - 2002-02-22 15:09:38
|
CVS Root: /cvsroot/gstreamer Module: gst-plugins Changes by: wingo Date: Fri Feb 22 2002 07:09:35 PST Log message: pull good old filterstamp back out of the attic Added files: tools : README.filterstamp filterstamp.sh Links: http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/tools/README.filterstamp?rev=1.1&content-type=text/vnd.viewcvs-markup http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/tools/filterstamp.sh?rev=1.1&content-type=text/vnd.viewcvs-markup ====Begin Diffs==== --- NEW FILE: README.filterstamp --- 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. --- NEW FILE: filterstamp.sh --- #!/bin/bash # copies from gstreamer filter boilerplate # to new filter # changing file names and function references # th...@ap... # modified 23 aug 2001 ap...@eo...: # 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" * |