From c98b59c7b855ce61c7eb085714fbbdc6dcdfe6f8 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Wed, 10 Mar 2004 12:35:44 +0000 Subject: updating tools generation Original commit message from CVS: updating tools generation --- tools/gst-visualise-m.m | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 tools/gst-visualise-m.m (limited to 'tools/gst-visualise-m.m') diff --git a/tools/gst-visualise-m.m b/tools/gst-visualise-m.m new file mode 100644 index 00000000..25748030 --- /dev/null +++ b/tools/gst-visualise-m.m @@ -0,0 +1,79 @@ +#!/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 () + { + 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} = "esdmon"; } + if (!defined $cfg{VIDEOSINK}) { $cfg{VIDEOSINK} = "sdlvideosink"; } + 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 ! colorspace ! $cfg{VIDEOSINK} }"; + print "Running $command\n"; + system ("PATH=\$PATH:".$cfg{CVS_PATH}."/gstreamer/tools $command"); +} + +### main + +read_config (); + +%pipes = ( + "goom", "goom", + "chart", "stereo2mono ! chart", + "synaesthesia", "synaesthesia", + "monoscope", "stereo2mono ! monoscope" +); + +if ($#ARGV > 0) { + print STDERR "Usage: gst-visualise [visualiser]\n"; + exit 1; +} + +visualise(@ARGV); + -- cgit