#!/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" *