These are all in -base/tools.
+++ /dev/null
-gst-launch-ext-?.?
-gst-visualise-?.?
-gst-launch-ext-?.?.1
-gst-visualise-?.?.1
+++ /dev/null
-bin_SCRIPTS = \
- gst-launch-ext-@GST_MAJORMINOR@ \
- gst-visualise-@GST_MAJORMINOR@
-
-man_MANS = \
- gst-launch-ext-@GST_MAJORMINOR@.1 \
- gst-visualise-@GST_MAJORMINOR@.1
-
-CLEANFILES = $(man_MANS) $(bin_SCRIPTS)
-
-EXTRA_DIST = \
- gst-launch-ext-m.m gst-visualise-m.m \
- gst-launch-ext.1.in gst-visualise.1.in
-
-# generate versioned scripts from templates
-%-@GST_MAJORMINOR@: %-m.m
- sed -e s,\@GST_MAJORMINOR\@,@GST_MAJORMINOR@,g $< > $@
- chmod +x $@
-
-# generate man pages
-%-@GST_MAJORMINOR@.1: %.1.in
- sed \
- -e s,gst-complete,gst-complete-@GST_MAJORMINOR@,g \
- -e s,gst-compprep,gst-compprep-@GST_MAJORMINOR@,g \
- -e s,gst-feedback,gst-feedback-@GST_MAJORMINOR@,g \
- -e s,gst-inspect,gst-inspect-@GST_MAJORMINOR@,g \
- -e s,gst-launch,gst-launch-@GST_MAJORMINOR@,g \
- -e s,gst-launch-ext,gst-launch-ext-@GST_MAJORMINOR@,g \
- -e s,gst-md5sum,gst-md5sum-@GST_MAJORMINOR@,g \
- -e s,gst-register,gst-register-@GST_MAJORMINOR@,g \
- -e s,gst-typefind,gst-typefind-@GST_MAJORMINOR@,g \
- -e s,gst-visualise,gst-visualise-@GST_MAJORMINOR@,g \
- -e s,gst-xmllaunch,gst-xmllaunch-@GST_MAJORMINOR@,g \
- $< >$@
-
-all: all-am chmod
-
-chmod: $(bin_SCRIPTS)
- chmod +x $^
+++ /dev/null
-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.
-
+++ /dev/null
-#!/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" *
-
+++ /dev/null
-#!/usr/bin/perl -w
-use strict;
-
-# launch a gst-launch pipeline for the supplied media file
-# use the extension to determine the gst-launch pipeline
-# make use of default output sinks
-
-my (%pipes, %cfg);
-
-sub extension
-{
- my $path = shift;
- my $ext;
-
- # get only the bit after the last period. We don't deal with
- # .tar.gz extensions do we ?
- if ($path =~ /\./)
- {
- $ext = $path;
- $ext =~ s/^.*\.//;
- }
- else { $ext = ""; }
-
- return $ext;
-}
-
-sub read_config
-{
- my $command = shift;
-
- my $config_file = $ENV{HOME}."/.gst";
- if (-e $config_file)
- {
- open CONFIG, $config_file;
- while (<CONFIG>)
- {
- chomp;
- s/#.*//;
- s/\s+$//;
- next unless length;
- my ($var, $value) = split (/\s*=\s*/, $_, 2);
- $cfg{$var} = $value;
- }
- if (!($cfg{AUDIOSINK}))
- {
- print "Please add an AUDIOSINK to $config_file !\n";
- }
- if (!($cfg{VIDEOSINK}))
- {
- print "Please add a VIDEOSINK to $config_file !\n";
- }
- }
- else
- {
- print "No configuration file $config_file found. You might want to create one.\n";
- print "This is not an error, just a friendly reminder... Check the man page.\n\n";
- }
- if (!defined $cfg{AUDIOSINK}) { $cfg{AUDIOSINK} = "osssink"; }
- if (!defined $cfg{VIDEOSINK}) { $cfg{VIDEOSINK} = "ffmpegcolorspace ! xvimagesink"; }
- if (!defined $cfg{CVS_PATH}) { $cfg{CVS_PATH} = $ENV{HOME}."/gst/cvs"; }
-
- if ($command =~ /(.+)\/gst-launch-ext-@GST_MAJORMINOR@$/)
- { $cfg{COMMAND_PATH} = "$1"; }
- else
- { $cfg{COMMAND_PATH} = ""; }
-}
-
-sub playfile($$)
-{
- my ($file, $ext) = @_;
- my $command;
- my $pipe;
- my $path = "\$PATH:".$cfg{CVS_PATH}."/gstreamer/tools";
-
- if ($cfg{COMMAND_PATH} ne "") {
- $path = $cfg{COMMAND_PATH}.":$path";
- }
-
- $ext = lc $ext;
-
- if ($cfg{VISUALIZER} && ($pipe = $pipes{"vis." . $ext}))
- {
- $command = "gst-launch-@GST_MAJORMINOR@ filesrc location=\"$file\" ! $pipe";
- print "Running command-line\n$command\n\n";
- system ("PATH=$path $command");
- }
- elsif ($pipe = $pipes{$ext})
- {
- $command = "gst-launch-@GST_MAJORMINOR@ filesrc location=\"$file\" ! $pipe";
- print "Running command-line\n$command\n\n";
- system ("PATH=$path $command");
- }
- else
- {
- print "No suitable pipe found for extension $ext.\n";
- }
-}
-
-### main
-
-read_config ($0);
-
-%pipes = (
- "ac3", "a52dec ! $cfg{AUDIOSINK}",
- "au", "auparse ! $cfg{AUDIOSINK}",
- "avi", "decodebin name=d { d. ! queue ! $cfg{VIDEOSINK} } { d. ! queue ! audioconvert ! audioscale ! $cfg{AUDIOSINK} }",
- "asf", "decodebin name=d ! { d. ! queue ! $cfg{VIDEOSINK} } { d. ! queue ! audioconvert ! audioscale ! $cfg{AUDIOSINK} }",
- "flac", "flacdec ! $cfg{AUDIOSINK}",
- "fli", "flxdec ! colorspace ! $cfg{VIDEOSINK}",
- "m1v", "mpeg2dec ! $cfg{VIDEOSINK}",
- "m2v", "mpeg2dec ! $cfg{VIDEOSINK}",
- "m4a", "qtdemux .audio_00 ! { queue ! faad ! $cfg{AUDIOSINK} }",
- "aac", "faad ! $cfg{AUDIOSINK}",
- "mod", "modplug ! $cfg{AUDIOSINK}",
- "mpc", "musepackdec ! $cfg{AUDIOSINK}",
- "mp2", "mad ! $cfg{AUDIOSINK}",
- "mp3", "mad ! $cfg{AUDIOSINK}",
- "mp4", "decodebin name=d { d. ! queue ! ffmpegcolorspace ! videoscale ! $cfg{VIDEOSINK} } { d. ! queue ! audioconvert ! audioscale ! $cfg{AUDIOSINK} }",
- "mpeg", "mpegdemux name=d { d.audio_00 ! queue ! mad ! audioconvert ! audioscale ! $cfg{AUDIOSINK} } { d.video_00 ! queue ! mpeg2dec ! $cfg{VIDEOSINK} }",
- "mpg", "mpegdemux name=demux { demux.video_00 ! queue ! mpeg2dec ! ffmpegcolorspace ! $cfg{VIDEOSINK} } { demux.audio_00 ! queue ! mad ! $cfg{AUDIOSINK} }",
- "ogg", "oggdemux ! vorbisdec ! audioconvert ! $cfg{AUDIOSINK}",
- "sid", "siddec ! $cfg{AUDIOSINK}",
- "swf", "swfdec name=swfdec ! { queue ! colorspace ! $cfg{VIDEOSINK} } { swfdec. ! queue ! $cfg{AUDIOSINK} }",
- "vob", "mpegdemux name=d { d.video_00 ! queue ! mpeg2dec ! $cfg{VIDEOSINK} } { d.audio_00 ! queue ! a52dec ! audioconvert ! audioscale ! $cfg{AUDIOSINK} }",
- "wav", "wavparse ! $cfg{AUDIOSINK}",
- "wm", "asfdemux name=demux ! { queue ! spider ! $cfg{VIDEOSINK} } { demux. ! queue ! spider ! $cfg{AUDIOSINK} }",
-### a wma file can use wmav1 or wmav2 codec so we must use spider to decode it
- "wma", "asfdemux name=demux ! spider ! $cfg{AUDIOSINK}",
- "wmv", "asfdemux name=demux ! { queue ! spider ! $cfg{VIDEOSINK} } { demux. ! queue ! spider ! $cfg{AUDIOSINK} }",
- "mkv", "matroskademux name=demux ! { queue ! spider ! $cfg{VIDEOSINK} } { demux. ! queue ! spider ! $cfg{AUDIOSINK} }",
- "mka", "matroskademux ! spider ! $cfg{AUDIOSINK}",
- "mov", "decodebin name=d { d. ! queue ! ffmpegcolorspace ! videoscale ! $cfg{VIDEOSINK} } { d. ! queue ! audioconvert ! audioscale ! $cfg{AUDIOSINK} }",
-);
-
-if ($cfg{VISUALIZER}) {
- %pipes = (
- %pipes,
- "vis.mp3", "mad ! tee name=tee silent=true ! queue leaky=1 ! { $cfg{VISUALIZER} ! ffmpegcolorspace ! $cfg{VIDEOSINK} } tee. ! $cfg{AUDIOSINK}",
- "vis.ogg", "vorbisdec ! tee name=tee silent=true ! queue leaky=1 ! { $cfg{VISUALIZER} ! ffmpegcolorspace ! $cfg{VIDEOSINK} } tee. ! $cfg{AUDIOSINK}",
- "vis.wav", "wavparse ! tee name=tee silent=true ! queue leaky=1 ! { $cfg{VISUALIZER} ! ffmpegcolorspace ! $cfg{VIDEOSINK} } tee. ! $cfg{AUDIOSINK}",
- );
-}
-
-if ($#ARGV == -1) {
- print STDERR "Usage: gst-launch-ext-@GST_MAJORMINOR@ filename[s]\n";
- exit 1;
-}
-
-my $file;
-while ($file = shift @ARGV) {
- my $ext = extension ($file);
- if (!$ext) {
- print "file $file doesn't have an extension !\n";
- exit;
- }
- if ($ext eq 'm3u')
- {
- open (PLAYLIST, '<', $file);
- my $file2;
- while ($file2 = <PLAYLIST>) {
- chomp $file2;
- my $ext2 = extension ($file2);
- playfile($file2, $ext2);
- }
- close PLAYLIST;
- } else {
- playfile($file, $ext);
- }
-}
+++ /dev/null
-.TH "GStreamer" "1" "February 2002" "" ""
-.SH "NAME"
-gst\-launch\-ext \- Run a predefined GStreamer pipeline
-.SH "SYNOPSIS"
-\fBgst\-launch\-ext\fR \fIfilename [filename...]\fR
-.SH "DESCRIPTION"
-.LP
-\fIgst\-launch\-ext\fP is a tool that is used to run a basic predefined
-\fIGStreamer\fP pipeline. This application is only used as a quick test to
-ensure proper working of codecs and GStreamer. It doesn't handle more advanced
-features like synchronisation.
-
-All supported formats in GStreamer should be playable by simply typing:
-
- gst\-launch\-ext filename
-
-It will also print out the pipeline it uses, so you can customize it using
-cut and paste.
-
-.SH "CONFIGURATION"
-.LP
-\fIgst\-launch\-ext\fP can be configured by creating a .gst file in your
-home directory. This is a perl-style configuration file and can override
-the defaults for audio and video output sinks.
-
-Here is an example .gst file that implements the same defaults as hard-coded
-in the script :
-
-AUDIOSINK = osssink
-VIDEOSINK = ffmpegcolorspace ! xvimagesink
-
-You can change osssink to esdsink or alsasink (if you have
-the plug-in), and you can change xvimagesink to ximagesink, aasink
-or sdlvideosink.
-
-Other plug-ins might be used as well if GStreamer has them.
-
-.SH "SEE ALSO"
-.BR gst\-guilaunch (1),
-.BR gst\-complete (1),
-.BR gst\-register (1),
-.BR gst\-inspect (1),
-.BR gst\-launch (1),
-.SH "AUTHOR"
-The GStreamer team at http://gstreamer.net/
+++ /dev/null
-#!/usr/bin/perl -w
-
-# launch a gst-launch pipeline to display a visualisation of the
-# input audio.
-# make use of default input srcs.
-# visualisation plugin is specified on command line.
-
-### packages
-
-use File::Basename;
-
-
-my (%pipes, %cfg);
-
-sub read_config
-{
- my $config_file = `echo -n ~`."/.gst";
- if (-e $config_file)
- {
- open CONFIG, $config_file;
- while (<CONFIG>)
- {
- chomp;
- s/#.*//;
- s/\s+$//;
- next unless length;
- my ($var, $value) = split (/\s*=\s*/, $_, 2);
- $cfg{$var} = $value;
- }
- if (!($cfg{AUDIOSRC}))
- {
- print "Please add an AUDIOSRC to $config_file !\n";
- }
- if (!($cfg{VIDEOSINK}))
- {
- print "Please add a VIDEOSINK to $config_file !\n";
- }
- }
- else
- {
- print "No configuration file $config_file found. You might want to create one.\n";
- }
- if (!defined $cfg{AUDIOSRC}) { $cfg{AUDIOSRC} = "osssrc"; }
- if (!defined $cfg{VIDEOSINK}) { $cfg{VIDEOSINK} = "xvimagesink"; }
- if (!defined $cfg{CVS_PATH}) { $cfg{CVS_PATH} = `echo -n ~`."/gst/cvs"; }
-}
-
-sub visualise(@)
-{
- my $vis = $cfg{VISUALIZER};
- $vis = shift() if ($#_ != -1);
- $vis = "goom" unless $vis;
-
- my $pipe;
- $pipe = $vis unless $pipe = $pipes{$vis};
-
- $command = "gst-launch-@GST_MAJORMINOR@ $cfg{AUDIOSRC} ! $pipe ! { queue ! ffmpegcolorspace ! $cfg{VIDEOSINK} }";
- print "Running $command\n";
- system ("PATH=\$PATH:".$cfg{CVS_PATH}."/gstreamer/tools $command");
-}
-
-### main
-
-read_config ();
-
-%pipes = (
- "goom", "goom",
- "chart", "audioconvert ! chart",
- "synaesthesia", "synaesthesia",
- "monoscope", "audioconvert ! monoscope"
-);
-
-if ($#ARGV > 0) {
- print STDERR "Usage: gst-visualise [visualiser]\n";
- exit 1;
-}
-
-visualise(@ARGV);
-
+++ /dev/null
-.TH "GStreamer" "1" "February 2002" "" ""
-.SH "NAME"
-gst\-visualise \- Run a GStreamer pipeline to display an audio visualisation
-.SH "SYNOPSIS"
-\fBgst\-visualise\fR \fI[visualiser]\fR
-.SH "DESCRIPTION"
-.LP
-\fIgst\-visualise\fP is a tool that is used to run a basic \fIGStreamer\fP pipeline, to display a graphical visualisation of an audio stream.
-
-By default, the audio stream is read from ESD (the Enlightened Sound Daemon),
-but this can be changed by setting the AUDIOSRC parameter in ~/.gst. For
-example, you might set "AUDIOSRC=osssrc" to display a visualisation of the
-sound input to your soundcard.
-
-You can select a visualiser by providing a parameter naming the visualiser.
-For example:
-
- gst\-visualise synaesthesia
-
-will use the synaesthesia plugin. If no visualiser is named, the VISUALIZER
-property in ~/.gst will be used. If this is not specified either, the goom
-visualiser will be used.
-
-The videosink to use to display the visualisation will be read from the
-VIDEOSINK parameter in ~/.gst, defaulting to sdlvideosink.
-
-.SH "SEE ALSO"
-.BR gst\-launch\-ext (1),
-.BR gst\-guilaunch (1),
-.BR gst\-complete (1),
-.BR gst\-register (1),
-.BR gst\-inspect (1),
-.BR gst\-launch (1),
-.SH "AUTHOR"
-The GStreamer team at http://gstreamer.net/