stdin fileno
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 171
JavaScript::Minifier 0.01
JavaScript::Minifier is a Perl translation of jsmin.c. more>>
JavaScript::Minifier is a Perl translation of jsmin.c.
SYNOPSIS
use JavaScript::Minifier;
my $obj = new JavaScript::Minifier;
$obj->minify(*STDIN, *STDOUT);
use JavaScript::Minifier qw(jsmin);
jsmin(*STDIN, *STDOUT);
This work is a translation from C to Perl of jsmin.c published by Douglas Crockford. Permission is hereby granted to use the Perl version under the same conditions as the jsmin.c on which it is based.
Refer to the JSMin website for further information: http://javascript.crockford.com/jsmin.html
Speed is a bit slower than the python version and the python and perl versions are quite a bit slower than the c version(of course).
Here are test results processing a 71K javascript file. This is one of the largest we have -- most are considerably smaller.
| wall clock seconds(approximate)
---------------------------------------
Perl: | 1.4
Python: | 1.0
C: | 0.03
Tests performed on a Intel(R) Pentium(R) 4 CPU 1.80GHz under no load.
<<lessSYNOPSIS
use JavaScript::Minifier;
my $obj = new JavaScript::Minifier;
$obj->minify(*STDIN, *STDOUT);
use JavaScript::Minifier qw(jsmin);
jsmin(*STDIN, *STDOUT);
This work is a translation from C to Perl of jsmin.c published by Douglas Crockford. Permission is hereby granted to use the Perl version under the same conditions as the jsmin.c on which it is based.
Refer to the JSMin website for further information: http://javascript.crockford.com/jsmin.html
Speed is a bit slower than the python version and the python and perl versions are quite a bit slower than the c version(of course).
Here are test results processing a 71K javascript file. This is one of the largest we have -- most are considerably smaller.
| wall clock seconds(approximate)
---------------------------------------
Perl: | 1.4
Python: | 1.0
C: | 0.03
Tests performed on a Intel(R) Pentium(R) 4 CPU 1.80GHz under no load.
Download (0.004MB)
Added: 2007-02-12 License: Perl Artistic License Price:
988 downloads
Simple Metronome 0.4
Simple Metronome (simetro) is a console program that provides basic metronome functions and supports accent patterns. more>>
Simple Metronome (simetro) is a console program that provides basic metronome functions and supports accent patterns.
If all you want is a 100 bpm metronome, do this:
../simetro 100 9 | ecasound -f:s16,2,44100,i -i:stdin
A sightly fancier example would use simetro like this:
./simetro 240 6232
1st arg: 240 ticks per minute. 2nd arg: a string of one or more digits, possibly annotated with other non-digit characters. 0 is silent. 5 is medium. 9 is loud. The pattern 9099 means loud-rest-loud-loud. The example pattern, 240 6232, represents normally accented sixteenth notes at 60 beats per minute. The length of the second argument determines the length of the pattern.
Typical accent strings (second arg):
5, 73, 733, 8242, 8222, 832-632
For your convenience, you can add non-numeric characters (annotation) to the accent string. These characters are ignored by simetro. So 832-632 and 832632 are equivalent. The groove and military examples in the examples/ directory illustrate this. noaccent-100bpm is the simplest example. tabla is a fanciest example.
The first argument is "ticks per minute" so if you are representing your rhythm with one tick per beat, than the ticks per minute will be equal to the beats per minute. But if, for example, your ticks are 16th notes, then the ticks per minute will be four times the beats per minute.
There are two methods for hearing the output waveform.
1) Pipe the output to a realtime raw audio player.
2) Send the output to a file. Convert to WAV. Play WAV file.
Using Ecasound, you can do it like this:
./simetro 240 6232 | ecasound -f:s16,2,44100,i -i:stdin
This is probably the most practical configuration. Ecasound is good code and I recommend it. Or you can use some other program that can play an audio stream from stdin. Srp also works:
./simetro 240 6232 | srp > /dev/null
It starts immediately, does not create any files, and stops with CTRL-C. srp is part of my Simple Multitrack package which can be found at http://freshmeat.net/projects/simple-multitrack/ and runs on Linux/OSS and on Mac OS X. Other programs undoubtedly provide the same capability.
On Solaris 9, I use this bash command for realtime (but low quality) output:
alias rawplay="sox -t sw -r 44100 -c 2 - -t raw -r 8012 -u -b -c 1 /dev/audio"
./simetro 300 5222 | rawplay
If you want to make a file and play it (method 2), you can do this:
./simetro 240 6232 | dd bs=1024 count=10k > rawfile
sox -t sw -r 44100 -c 2 rawfile outfile.wav
sox is an audio format converter. You can get it here:
http://sox.sourceforge.net/
Please email your comments, suggestions, and bug reports to me. My email address is on my webpage: http://w140.com/kurt Please include the word simetro in your subject to skip the spam filter.
Enhancements:
- Rhythms can now be specified in a more convenient free-form syntax.
- It is easier to read and easier to write rhythms in the new syntax.
- More examples are included.
- Ecasound is used in the examples for sending the audio stream to the sound card.
<<lessIf all you want is a 100 bpm metronome, do this:
../simetro 100 9 | ecasound -f:s16,2,44100,i -i:stdin
A sightly fancier example would use simetro like this:
./simetro 240 6232
1st arg: 240 ticks per minute. 2nd arg: a string of one or more digits, possibly annotated with other non-digit characters. 0 is silent. 5 is medium. 9 is loud. The pattern 9099 means loud-rest-loud-loud. The example pattern, 240 6232, represents normally accented sixteenth notes at 60 beats per minute. The length of the second argument determines the length of the pattern.
Typical accent strings (second arg):
5, 73, 733, 8242, 8222, 832-632
For your convenience, you can add non-numeric characters (annotation) to the accent string. These characters are ignored by simetro. So 832-632 and 832632 are equivalent. The groove and military examples in the examples/ directory illustrate this. noaccent-100bpm is the simplest example. tabla is a fanciest example.
The first argument is "ticks per minute" so if you are representing your rhythm with one tick per beat, than the ticks per minute will be equal to the beats per minute. But if, for example, your ticks are 16th notes, then the ticks per minute will be four times the beats per minute.
There are two methods for hearing the output waveform.
1) Pipe the output to a realtime raw audio player.
2) Send the output to a file. Convert to WAV. Play WAV file.
Using Ecasound, you can do it like this:
./simetro 240 6232 | ecasound -f:s16,2,44100,i -i:stdin
This is probably the most practical configuration. Ecasound is good code and I recommend it. Or you can use some other program that can play an audio stream from stdin. Srp also works:
./simetro 240 6232 | srp > /dev/null
It starts immediately, does not create any files, and stops with CTRL-C. srp is part of my Simple Multitrack package which can be found at http://freshmeat.net/projects/simple-multitrack/ and runs on Linux/OSS and on Mac OS X. Other programs undoubtedly provide the same capability.
On Solaris 9, I use this bash command for realtime (but low quality) output:
alias rawplay="sox -t sw -r 44100 -c 2 - -t raw -r 8012 -u -b -c 1 /dev/audio"
./simetro 300 5222 | rawplay
If you want to make a file and play it (method 2), you can do this:
./simetro 240 6232 | dd bs=1024 count=10k > rawfile
sox -t sw -r 44100 -c 2 rawfile outfile.wav
sox is an audio format converter. You can get it here:
http://sox.sourceforge.net/
Please email your comments, suggestions, and bug reports to me. My email address is on my webpage: http://w140.com/kurt Please include the word simetro in your subject to skip the spam filter.
Enhancements:
- Rhythms can now be specified in a more convenient free-form syntax.
- It is easier to read and easier to write rhythms in the new syntax.
- More examples are included.
- Ecasound is used in the examples for sending the audio stream to the sound card.
Download (0.003MB)
Added: 2006-12-20 License: GPL (GNU General Public License) Price:
614 downloads
File::Sync 0.09
File::Sync is a Perl access to fsync() and sync() function calls. more>>
File::Sync is a Perl access to fsync() and sync() function calls.
SYNOPSIS
use File::Sync qw(fsync sync);
fsync(*FILEHANDLE) or die "fsync: $!";
sync();
use File::Sync qw(fsync);
use IO::File;
$fh = IO::File->new("> /tmp/foo")
or die "new IO::File: $!";
...
fsync($fh) or die "fsync: $!";
The fsync() function takes a Perl file handle as its only argument, and passes its fileno() to the C function fsync(). It returns undef on failure, or true on success.
The fsync_fd() function is used internally by fsync(); it takes a file descriptor as its only argument.
The sync() function is identical to the C function sync().
This module does not export any methods by default, but fsync() is made available as a method of the FileHandle and IO::Handle classes.
<<lessSYNOPSIS
use File::Sync qw(fsync sync);
fsync(*FILEHANDLE) or die "fsync: $!";
sync();
use File::Sync qw(fsync);
use IO::File;
$fh = IO::File->new("> /tmp/foo")
or die "new IO::File: $!";
...
fsync($fh) or die "fsync: $!";
The fsync() function takes a Perl file handle as its only argument, and passes its fileno() to the C function fsync(). It returns undef on failure, or true on success.
The fsync_fd() function is used internally by fsync(); it takes a file descriptor as its only argument.
The sync() function is identical to the C function sync().
This module does not export any methods by default, but fsync() is made available as a method of the FileHandle and IO::Handle classes.
Download (0.004MB)
Added: 2006-06-29 License: Perl Artistic License Price:
1213 downloads
GNU Oleo 1.99.16
GNU Oleo is a lightweight spreadsheet application. more>>
GNU Oleo is a lightweight spreadsheet application.
It has internationalization support, an ncurses interface, a Motif/LessTif interface, and an autoconf/automake-based compilation process.
Current enhancements include printing and plotting.
Main features:
- Motif/LessTif interface, based on the XbaeMatrix widget
- Access to the statistics functions of the GSL (GNU Scientific Library).
- Support for opening multiple spreadsheets, each in a Motif window, at the same time.
- device independent graphics through GNU plotutils, replacing the older gnuplot interface
- more portable build through autoconf and automake
- internationalised (i18n)
- updated documentation
- ANSI C code (removed K&R stuff)
- filter mode (read file from stdin, save to stdout)
- better SYLK support
- improved printing (PostScript and PCL)
- database access (MySQL and DBF files)
- SciPlot graphics (Motif/LessTif only)
- cleaned up internals
- runs in character mode as well as in a GUI
- interface to CUPS to browse available printers
<<lessIt has internationalization support, an ncurses interface, a Motif/LessTif interface, and an autoconf/automake-based compilation process.
Current enhancements include printing and plotting.
Main features:
- Motif/LessTif interface, based on the XbaeMatrix widget
- Access to the statistics functions of the GSL (GNU Scientific Library).
- Support for opening multiple spreadsheets, each in a Motif window, at the same time.
- device independent graphics through GNU plotutils, replacing the older gnuplot interface
- more portable build through autoconf and automake
- internationalised (i18n)
- updated documentation
- ANSI C code (removed K&R stuff)
- filter mode (read file from stdin, save to stdout)
- better SYLK support
- improved printing (PostScript and PCL)
- database access (MySQL and DBF files)
- SciPlot graphics (Motif/LessTif only)
- cleaned up internals
- runs in character mode as well as in a GUI
- interface to CUPS to browse available printers
Download (0.77MB)
Added: 2006-09-27 License: GPL (GNU General Public License) Price:
1124 downloads
iodine 0.4.0
iodine is a piece of software that lets you tunnel IPv4 data through a DNS server. more>>
iodine is a piece of software that lets you tunnel IPv4 data through a DNS server. This can be useful in situations where Internet access is firewalled, but DNS queries are allowed.
iodine needs a TUN/TAP device to operate. The bandwidth is asymmetrical with limited upstream and up to 1 Mbit/s downstream.
Enhancements:
- Multiuser support was added for up to 8 users simultaneously.
- Authentication was added, and a password is entered as an argument or on stdin.
- A manpage was added. "make" targets were added for "install" and "uninstall".
- The DNS code was cleaned up.
- More test cases were added.
- The directory structure was changed.
<<lessiodine needs a TUN/TAP device to operate. The bandwidth is asymmetrical with limited upstream and up to 1 Mbit/s downstream.
Enhancements:
- Multiuser support was added for up to 8 users simultaneously.
- Authentication was added, and a password is entered as an argument or on stdin.
- A manpage was added. "make" targets were added for "install" and "uninstall".
- The DNS code was cleaned up.
- More test cases were added.
- The directory structure was changed.
Download (0.010MB)
Added: 2007-03-25 License: GPL (GNU General Public License) Price:
943 downloads
FindBin 5.8.8
FindBin is a Perl module that can locate directory of original perl script. more>>
FindBin is a Perl module that can locate directory of original perl script.
SYNOPSIS
use FindBin;
use lib "$FindBin::Bin/../lib";
or
use FindBin qw($Bin);
use lib "$Bin/../lib";
Locates the full path to the script bin directory to allow the use of paths relative to the bin directory.
This allows a user to setup a directory tree for some software with directories < root >/bin and < root >/lib, and then the above example will allow the use of modules in the lib directory without knowing where the software tree is installed.
If perl is invoked using the -e option or the perl script is read from STDIN then FindBin sets both $Bin and $RealBin to the current directory.
EXPORTABLE VARIABLES
$Bin - path to bin directory from where script was invoked
$Script - basename of script from which perl was invoked
$RealBin - $Bin with all links resolved
$RealScript - $Script with all links resolved
<<lessSYNOPSIS
use FindBin;
use lib "$FindBin::Bin/../lib";
or
use FindBin qw($Bin);
use lib "$Bin/../lib";
Locates the full path to the script bin directory to allow the use of paths relative to the bin directory.
This allows a user to setup a directory tree for some software with directories < root >/bin and < root >/lib, and then the above example will allow the use of modules in the lib directory without knowing where the software tree is installed.
If perl is invoked using the -e option or the perl script is read from STDIN then FindBin sets both $Bin and $RealBin to the current directory.
EXPORTABLE VARIABLES
$Bin - path to bin directory from where script was invoked
$Script - basename of script from which perl was invoked
$RealBin - $Bin with all links resolved
$RealScript - $Script with all links resolved
Download (12.2MB)
Added: 2007-05-09 License: Perl Artistic License Price:
898 downloads
Logfilter 0.4
Logfilter is a tool for performing ad hoc analysis on Apache log files. more>>
Logfilter is a tool for performing ad hoc analysis on Apache log files.
Logfilter is especially useful when you wish to find records matching very specific criteria, since you can specify exactly which fields to match.
The tool also plays well in a Unix environment by accepting input either through files or via stdin.
Main features:
- Match only the records you are interested in, ignore everything else
- Fast matching...the code is written in C for maximum portability & performance
- Released under the Apache Licence so you can customise & extend as you wish
Enhancements:
- The command line options were changed to be more in line with Unix philosophy.
- An autoconf script was added to make building logfilter easier.
- A bug in the case sensitivity matching was fixed.
<<lessLogfilter is especially useful when you wish to find records matching very specific criteria, since you can specify exactly which fields to match.
The tool also plays well in a Unix environment by accepting input either through files or via stdin.
Main features:
- Match only the records you are interested in, ignore everything else
- Fast matching...the code is written in C for maximum portability & performance
- Released under the Apache Licence so you can customise & extend as you wish
Enhancements:
- The command line options were changed to be more in line with Unix philosophy.
- An autoconf script was added to make building logfilter easier.
- A bug in the case sensitivity matching was fixed.
Download (0.097MB)
Added: 2006-09-13 License: GPL (GNU General Public License) Price:
1139 downloads
Linux::Inotify2 1.01
Linux::Inotify2 is a scalable directory/file change notification. more>>
Linux::Inotify2 is a scalable directory/file change notification.
SYNOPSIS
Callback interface
use Linux::Inotify2;
# create a new object
my $inotify = new Linux::Inotify2
or die "Unable to create new inotify object: $!";
# for Event:
Event->io (fd =>$inotify->fileno, poll => r, cb => sub { $inotify->poll });
# for Glib:
add_watch Glib::IO $inotify->fileno, in => sub { $inotify->poll };
# manually:
1 while $inotify->poll;
# add watchers
$inotify->watch ("/etc/passwd", IN_ACCESS, sub {
my $e = shift;
my $name = $e->fullname;
print "$name was accessedn" if $e->IN_ACCESS;
print "$name is no longer mountedn" if $e->IN_UNMOUNT;
print "$name is gonen" if $e->IN_IGNORED;
print "events for $name have been lostn" if $e->IN_Q_OVERFLOW;
# cancel this watcher: remove no further events
$e->w->cancel;
});
Streaming Interface
use Linux::Inotify2 ;
# create a new object
my $inotify = new Linux::Inotify2
or die "Unable to create new inotify object: $!" ;
# create watch
$inotify->watch ("/etc/passwd", IN_ACCESS)
or die "watch creation failed" ;
while () {
my @events = $inotify->read;
unless (@events > 0) {
print "read error: $!";
last ;
}
printf "maskt%dn", $_->mask foreach @events ;
}
This module implements an interface to the Linux 2.6.13 and later Inotify file/directory change notification sytem.
It has a number of advantages over the Linux::Inotify module:
- it is portable (Linux::Inotify only works on x86)
- the equivalent of fullname works correctly
- it is better documented
- it has callback-style interface, which is better suited for
integration.
<<lessSYNOPSIS
Callback interface
use Linux::Inotify2;
# create a new object
my $inotify = new Linux::Inotify2
or die "Unable to create new inotify object: $!";
# for Event:
Event->io (fd =>$inotify->fileno, poll => r, cb => sub { $inotify->poll });
# for Glib:
add_watch Glib::IO $inotify->fileno, in => sub { $inotify->poll };
# manually:
1 while $inotify->poll;
# add watchers
$inotify->watch ("/etc/passwd", IN_ACCESS, sub {
my $e = shift;
my $name = $e->fullname;
print "$name was accessedn" if $e->IN_ACCESS;
print "$name is no longer mountedn" if $e->IN_UNMOUNT;
print "$name is gonen" if $e->IN_IGNORED;
print "events for $name have been lostn" if $e->IN_Q_OVERFLOW;
# cancel this watcher: remove no further events
$e->w->cancel;
});
Streaming Interface
use Linux::Inotify2 ;
# create a new object
my $inotify = new Linux::Inotify2
or die "Unable to create new inotify object: $!" ;
# create watch
$inotify->watch ("/etc/passwd", IN_ACCESS)
or die "watch creation failed" ;
while () {
my @events = $inotify->read;
unless (@events > 0) {
print "read error: $!";
last ;
}
printf "maskt%dn", $_->mask foreach @events ;
}
This module implements an interface to the Linux 2.6.13 and later Inotify file/directory change notification sytem.
It has a number of advantages over the Linux::Inotify module:
- it is portable (Linux::Inotify only works on x86)
- the equivalent of fullname works correctly
- it is better documented
- it has callback-style interface, which is better suited for
integration.
Download (0.009MB)
Added: 2006-09-06 License: Perl Artistic License Price:
1145 downloads
SWISH::Filters::xls2txt 0.90
SWISH::Filters::xls2txt is a Perl module that can convert Excel docs to text using xls2csv. more>>
SWISH::Filters::xls2txt is a Perl module that can convert Excel docs to text using xls2csv.
This is a plug-in module that uses the xls2csv program to convert MS Excel documents to text for indexing by Swish-e. xls2csv is part of the catdoc package and can be downloaded from:
http://www.45.free.net/~vitus/software/catdoc/
The program xls2csv must be installed and in your PATH.
BUGS
This filter does not specify input or output character encodings.
A minor optimization during spidering (i.e. when docs are in memory instead of on disk) would be to use open2() call to let catdoc read from stdin instead of from a file.
<<lessThis is a plug-in module that uses the xls2csv program to convert MS Excel documents to text for indexing by Swish-e. xls2csv is part of the catdoc package and can be downloaded from:
http://www.45.free.net/~vitus/software/catdoc/
The program xls2csv must be installed and in your PATH.
BUGS
This filter does not specify input or output character encodings.
A minor optimization during spidering (i.e. when docs are in memory instead of on disk) would be to use open2() call to let catdoc read from stdin instead of from a file.
Download (0.015MB)
Added: 2006-08-17 License: Perl Artistic License Price:
1172 downloads
XML::Filter::Sort 1.01
XML::Filter::Sort is a SAX filter for sorting elements in XML. more>>
XML::Filter::Sort is a SAX filter for sorting elements in XML.
SYNOPSIS
use XML::Filter::Sort;
use XML::SAX::Machines qw( :all );
my $sorter = XML::Filter::Sort->new(
Record => person,
Keys => [
[ lastname, alpha, asc ],
[ firstname, alpha, asc ],
[ @age, num, desc]
],
);
my $filter = Pipeline( $sorter => *STDOUT );
$filter->parse_file(*STDIN);
Or from the command line:
xmlsort
This module is a SAX filter for sorting records in XML documents (including documents larger than available memory). The xmlsort utility which is included with this distribution can be used to sort an XML file from the command line without writing Perl code (see perldoc xmlsort).
<<lessSYNOPSIS
use XML::Filter::Sort;
use XML::SAX::Machines qw( :all );
my $sorter = XML::Filter::Sort->new(
Record => person,
Keys => [
[ lastname, alpha, asc ],
[ firstname, alpha, asc ],
[ @age, num, desc]
],
);
my $filter = Pipeline( $sorter => *STDOUT );
$filter->parse_file(*STDIN);
Or from the command line:
xmlsort
This module is a SAX filter for sorting records in XML documents (including documents larger than available memory). The xmlsort utility which is included with this distribution can be used to sort an XML file from the command line without writing Perl code (see perldoc xmlsort).
Download (0.025MB)
Added: 2006-09-06 License: Perl Artistic License Price:
1145 downloads
Crystality Plugin 0.92
Crystality Plugin consists of XMMS plugin and stdin/stdout plugin. more>>
Crystality Plugin consists of XMMS plugin and stdin/stdout plugin. It was written for realtime remastering of sound from mp3 files.
You will need a reasonably good stereo and a good ear to notice quality
improvement, otherwise this is not for you.
This plugin tries to patch mp3 format flaws, not a poor audio hardware! Yes, you should be able to hear well enough (sorry) - for some of my friends plugin is a cool thing, while the others does not hear nothing but echo and stereo expander (well, you will hear every effect if you set it to the maximum, but it will not sound nice).
Crystality was written for 16bit 44.1kHz stereo sound and may give strange results
with other sound formats.
Damian Hodgkiss sent me a quick port for Winamp 2.x. I have not tried it yet, but you can get it (cr-quick-winamp-port.zip).
This plugin does mainly four things (and some minor tricks):
1. Adds some sounds in very high frequency range. Most of the mp3s in The Net are flawed with a 16(15?) kHz cutoff. Even these ones compressed at high bitrates. This spectrum hole is audible and very unpleasant. This plugin helps a bit. Old mp3s made from the vinyl or the magnetic tape may also sound better with these "steroids". For old mp3s youll probably need to set filter to 0.1.
2. Adds some even harmonic distortions (actually nonlinearity), that sounds nice. Valve amps introduce even harmonic distortions (although differnt way) Look at audiophile pages for more info (well, mp3 format is not an audiophile stuff at all, but... welcome to the real world...).
3. Adds simple, but nice 3D echo (concert hall or church like). Most of echo plugins sounds too hard and aggresively for me. This one does not.
4. Extends stereo.
USING:
There are currently two versions of plugin - XMMS plugin and stdin/stdout. Stdin/out plugin is completly independent of XMMS plugin. It even stores its configuration in a separate file (~/.crystalityrc). Stdin/out plugin is alpha code, so some features are missed. You cannot reopen configuration dialog after closing without restarting plugin, there are no "save config", "load config" buttons. Configuration is loaded automatically on startup and saved on exit, either on normal finish or ^C. You can disable GUI with -g option (useful in scripts).
Because this plugin adds some sounds at high frequencies, you will probably need to decrease treble level on your amplifier. Plugin does not perform normalization, so you should slightly decrease signal level in XMMS equalizer (NOT volume slider on the main panel). Setting sliders to the maximum is generally a bad idea (well, except the filter, where that setting is useful).
PERFORMANCE:
It eats about 15% of CPU on my AMD K6-2/400 and optimization is still possible, this is not highly optimized code.
INSTALLATION:
Distribution contains binary version of XMMS plugin library and stdin/stdout plugin executable (Linux i586, glibc 2.1.3). You may copy plugin library file (libcrystality.so) into XMMSs Effect directory and executable (crystality-stdio) to /usr/local/bin or any location you prefer. For default locations simply type:
make install
and thats it.
You may also build crystality from the source.
make buildinstall
typed as root in the source directory should be all you have to do.
This plugin was my first small step in gtk programming, so dont expect any wonders, GUI is actually a quick hack to hardcoded settings. I am not a GUI programmer.
<<lessYou will need a reasonably good stereo and a good ear to notice quality
improvement, otherwise this is not for you.
This plugin tries to patch mp3 format flaws, not a poor audio hardware! Yes, you should be able to hear well enough (sorry) - for some of my friends plugin is a cool thing, while the others does not hear nothing but echo and stereo expander (well, you will hear every effect if you set it to the maximum, but it will not sound nice).
Crystality was written for 16bit 44.1kHz stereo sound and may give strange results
with other sound formats.
Damian Hodgkiss sent me a quick port for Winamp 2.x. I have not tried it yet, but you can get it (cr-quick-winamp-port.zip).
This plugin does mainly four things (and some minor tricks):
1. Adds some sounds in very high frequency range. Most of the mp3s in The Net are flawed with a 16(15?) kHz cutoff. Even these ones compressed at high bitrates. This spectrum hole is audible and very unpleasant. This plugin helps a bit. Old mp3s made from the vinyl or the magnetic tape may also sound better with these "steroids". For old mp3s youll probably need to set filter to 0.1.
2. Adds some even harmonic distortions (actually nonlinearity), that sounds nice. Valve amps introduce even harmonic distortions (although differnt way) Look at audiophile pages for more info (well, mp3 format is not an audiophile stuff at all, but... welcome to the real world...).
3. Adds simple, but nice 3D echo (concert hall or church like). Most of echo plugins sounds too hard and aggresively for me. This one does not.
4. Extends stereo.
USING:
There are currently two versions of plugin - XMMS plugin and stdin/stdout. Stdin/out plugin is completly independent of XMMS plugin. It even stores its configuration in a separate file (~/.crystalityrc). Stdin/out plugin is alpha code, so some features are missed. You cannot reopen configuration dialog after closing without restarting plugin, there are no "save config", "load config" buttons. Configuration is loaded automatically on startup and saved on exit, either on normal finish or ^C. You can disable GUI with -g option (useful in scripts).
Because this plugin adds some sounds at high frequencies, you will probably need to decrease treble level on your amplifier. Plugin does not perform normalization, so you should slightly decrease signal level in XMMS equalizer (NOT volume slider on the main panel). Setting sliders to the maximum is generally a bad idea (well, except the filter, where that setting is useful).
PERFORMANCE:
It eats about 15% of CPU on my AMD K6-2/400 and optimization is still possible, this is not highly optimized code.
INSTALLATION:
Distribution contains binary version of XMMS plugin library and stdin/stdout plugin executable (Linux i586, glibc 2.1.3). You may copy plugin library file (libcrystality.so) into XMMSs Effect directory and executable (crystality-stdio) to /usr/local/bin or any location you prefer. For default locations simply type:
make install
and thats it.
You may also build crystality from the source.
make buildinstall
typed as root in the source directory should be all you have to do.
This plugin was my first small step in gtk programming, so dont expect any wonders, GUI is actually a quick hack to hardcoded settings. I am not a GUI programmer.
Download (0.032MB)
Added: 2006-04-20 License: GPL (GNU General Public License) Price:
1291 downloads
The bastard disassembler 0.17
The bastard disassembler is a disassembler for linux/unix platforms. more>>
The bastard disassembler is a disassembler written for x86 ELF targets on Linux. Other file formats/CPUs can be plugged in. It has a command-line interface and is meant to be used as a backend or engine. Support for controlling the disassembler via pipes is provided. Note that this disassembler does not rely on libopcodes to do its disassembly. Rather, the libi386 plugin is a standard .so that can be reused by other projects.
This interpreter can be used interactively, it can be fed commands via STDIN [just like a scripting interpreter], and it can be communicated with via a pair of FIFOs. Now, on top of this any number of UI front ends can be stacked -- ncurses console front ends, Gtk X front-ends, Tk front ends, etc. It is the reponsibility of the front-ends to display the information obtained by querying the disassembler, supplying syntax highlighting, displaying strings, xrefs, etc; however the disassembler will retain all of this information, do all of the brute processing, and will provide any of the information when requested.
<<lessThis interpreter can be used interactively, it can be fed commands via STDIN [just like a scripting interpreter], and it can be communicated with via a pair of FIFOs. Now, on top of this any number of UI front ends can be stacked -- ncurses console front ends, Gtk X front-ends, Tk front ends, etc. It is the reponsibility of the front-ends to display the information obtained by querying the disassembler, supplying syntax highlighting, displaying strings, xrefs, etc; however the disassembler will retain all of this information, do all of the brute processing, and will provide any of the information when requested.
Download (2.35MB)
Added: 2005-01-27 License: Artistic License Price:
1736 downloads
Daniels Colorize.pl 0.3a
Daniels Colorize.pl is a short script that reads from stdin and writes to stdout. more>>
Daniels Colorize.pl is a short script that reads from stdin and writes to stdout. Rows that match a users search strings will be colorized with user-defined colors. Command line options are available. Colorization is done via ANSI escape codes.
Use any kind of stdin text stream and it will send it on stdout colorized.
e.g.: ls -lF | colorize.pl [options]
colorize.pl will print out every line from stdin to stdout. However rows with matching strings, will be colorized with your choice of color.
Options:
Options format: -[style][foreground][background]:[searchstring]
[style]
n = normal, l = light, u=underscore, i = inverted, b = blinking
[foreground color]
0= black, 1= red, 2= green, 3= yellow, 4= blue, 5= purple, 6= cyan, 7= white
[background color]
0= black, 1= red, 2= green, 3= yellow, 4= blue, 5= purple, 6= cyan, 7= white
[searchstring]
string
Example:
cat debug.txt | colorize.pl -u17:error -n37:warning -b10:funny
will colorize lines with the word:
- "error" underscored in red front color and white background
- "warning" in green front color and white background
- "funny" blinking in red front color with black background
Enhancements:
- Allows no background colors.
- Support for choosing between colorizing whole rows or just the matching words.
<<lessUse any kind of stdin text stream and it will send it on stdout colorized.
e.g.: ls -lF | colorize.pl [options]
colorize.pl will print out every line from stdin to stdout. However rows with matching strings, will be colorized with your choice of color.
Options:
Options format: -[style][foreground][background]:[searchstring]
[style]
n = normal, l = light, u=underscore, i = inverted, b = blinking
[foreground color]
0= black, 1= red, 2= green, 3= yellow, 4= blue, 5= purple, 6= cyan, 7= white
[background color]
0= black, 1= red, 2= green, 3= yellow, 4= blue, 5= purple, 6= cyan, 7= white
[searchstring]
string
Example:
cat debug.txt | colorize.pl -u17:error -n37:warning -b10:funny
will colorize lines with the word:
- "error" underscored in red front color and white background
- "warning" in green front color and white background
- "funny" blinking in red front color with black background
Enhancements:
- Allows no background colors.
- Support for choosing between colorizing whole rows or just the matching words.
Download (0.002MB)
Added: 2006-05-23 License: GPL (GNU General Public License) Price:
1249 downloads
vobstripper 0.1.2
vobstripper is a program that copies a .VOB file from stdin to stdout, discarding subtitles and all but one AC3 audio channel. more>>
vobstripper is a program that copies a .VOB file from stdin to stdout, discarding subtitles and all but one AC3 audio channel. The practical effect is to make the .VOB file smaller by throwing away unused extra information without requiring the .VOB file to be remultiplexed.
This program does not adjust pointers and other information in the .VOB file to cleanly delete the discarded streams. However, the resulting .VOB files are acceptable for input to a program such as dvdauthor that expects to be responsible for filling in the VOBs.
Since vobstripper invalidates the pointers in the .VOB file, a .VOB file that is to be processed by both vobstripper and vobwalker must be processed by vobwalker first.
vobstripper is in the public domain (GPL license).
Enhancements:
- Multiple private stream 1 subchannels can be specified as keepers on the command line.
- Discards MPEG program stream end codes. Ive seen several files on which tools like mpeg2dec and bbdmux silently stop before processing the entire file because of a rogue MPEG program stream end code embedded in the middle of the file.
- Slightly more sophisticated Makfile contributed by a user.
<<lessThis program does not adjust pointers and other information in the .VOB file to cleanly delete the discarded streams. However, the resulting .VOB files are acceptable for input to a program such as dvdauthor that expects to be responsible for filling in the VOBs.
Since vobstripper invalidates the pointers in the .VOB file, a .VOB file that is to be processed by both vobstripper and vobwalker must be processed by vobwalker first.
vobstripper is in the public domain (GPL license).
Enhancements:
- Multiple private stream 1 subchannels can be specified as keepers on the command line.
- Discards MPEG program stream end codes. Ive seen several files on which tools like mpeg2dec and bbdmux silently stop before processing the entire file because of a rogue MPEG program stream end code embedded in the middle of the file.
- Slightly more sophisticated Makfile contributed by a user.
Download (0.020MB)
Added: 2006-08-03 License: GPL (GNU General Public License) Price:
1177 downloads
Scalar::Util 1.19
Scalar::Util is a selection of general-utility scalar subroutines. more>>
Scalar::Util is a selection of general-utility scalar subroutines.
SYNOPSIS
use Scalar::Util qw(blessed dualvar isweak readonly refaddr reftype tainted
weaken isvstring looks_like_number set_prototype);
Scalar::Util contains a selection of subroutines that people have expressed would be nice to have in the perl core, but the usage would not really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful.
By default Scalar::Util does not export any subroutines. The subroutines defined are
blessed EXPR
If EXPR evaluates to a blessed reference the name of the package that it is blessed into is returned. Otherwise undef is returned.
$scalar = "foo";
$class = blessed $scalar; # undef
$ref = [];
$class = blessed $ref; # undef
$obj = bless [], "Foo";
$class = blessed $obj; # "Foo"
dualvar NUM, STRING
Returns a scalar that has the value NUM in a numeric context and the value STRING in a string context.
$foo = dualvar 10, "Hello";
$num = $foo + 2; # 12
$str = $foo . " world"; # Hello world
isvstring EXPR
If EXPR is a scalar which was coded as a vstring the result is true.
$vs = v49.46.48;
$fmt = isvstring($vs) ? "%vd" : "%s"; #true
printf($fmt,$vs);
isweak EXPR
If EXPR is a scalar which is a weak reference the result is true.
$ref = $foo;
$weak = isweak($ref); # false
weaken($ref);
$weak = isweak($ref); # true
NOTE: Copying a weak reference creates a normal, strong, reference.
$copy = $ref;
$weak = isweak($ref); # false
looks_like_number EXPR
Returns true if perl thinks EXPR is a number. See "looks_like_number" in perlapi.
openhandle FH
Returns FH if FH may be used as a filehandle and is open, or FH is a tied handle. Otherwise undef is returned.
$fh = openhandle(*STDIN); # *STDIN
$fh = openhandle(*STDIN); # *STDIN
$fh = openhandle(*NOTOPEN); # undef
$fh = openhandle("scalar"); # undef
readonly SCALAR
Returns true if SCALAR is readonly.
sub foo { readonly($_[0]) }
$readonly = foo($bar); # false
$readonly = foo(0); # true
refaddr EXPR
If EXPR evaluates to a reference the internal memory address of the referenced value is returned. Otherwise undef is returned.
$addr = refaddr "string"; # undef
$addr = refaddr $var; # eg 12345678
$addr = refaddr []; # eg 23456784
$obj = bless {}, "Foo";
$addr = refaddr $obj; # eg 88123488
reftype EXPR
If EXPR evaluates to a reference the type of the variable referenced is returned. Otherwise undef is returned.
$type = reftype "string"; # undef
$type = reftype $var; # SCALAR
$type = reftype []; # ARRAY
$obj = bless {}, "Foo";
$type = reftype $obj; # HASH
set_prototype CODEREF, PROTOTYPE
Sets the prototype of the given function, or deletes it if PROTOTYPE is undef. Returns the CODEREF.
set_prototype &foo, $$;
tainted EXPR
Return true if the result of EXPR is tainted
$taint = tainted("constant"); # false
$taint = tainted($ENV{PWD}); # true if running under -T
weaken REF
REF will be turned into a weak reference. This means that it will not hold a reference count on the object it references. Also when the reference count on that object reaches zero, REF will be set to undef.
This is useful for keeping copies of references , but you dont want to prevent the object being DESTROY-ed at its usual time.
{
my $var;
$ref = $var;
weaken($ref); # Make $ref a weak reference
}
# $ref is now undef
Note that if you take a copy of a scalar with a weakened reference, the copy will be a strong reference.
my $var;
my $foo = $var;
weaken($foo); # Make $foo a weak reference
my $bar = $foo; # $bar is now a strong reference
This may be less obvious in other situations, such as grep(), for instance when grepping through a list of weakened references to objects that may have been destroyed already:
@object = grep { defined } @object;
This will indeed remove all references to destroyed objects, but the remaining references to objects will be strong, causing the remaining objects to never be destroyed because there is now always a strong reference to them in the @object array.
<<lessSYNOPSIS
use Scalar::Util qw(blessed dualvar isweak readonly refaddr reftype tainted
weaken isvstring looks_like_number set_prototype);
Scalar::Util contains a selection of subroutines that people have expressed would be nice to have in the perl core, but the usage would not really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful.
By default Scalar::Util does not export any subroutines. The subroutines defined are
blessed EXPR
If EXPR evaluates to a blessed reference the name of the package that it is blessed into is returned. Otherwise undef is returned.
$scalar = "foo";
$class = blessed $scalar; # undef
$ref = [];
$class = blessed $ref; # undef
$obj = bless [], "Foo";
$class = blessed $obj; # "Foo"
dualvar NUM, STRING
Returns a scalar that has the value NUM in a numeric context and the value STRING in a string context.
$foo = dualvar 10, "Hello";
$num = $foo + 2; # 12
$str = $foo . " world"; # Hello world
isvstring EXPR
If EXPR is a scalar which was coded as a vstring the result is true.
$vs = v49.46.48;
$fmt = isvstring($vs) ? "%vd" : "%s"; #true
printf($fmt,$vs);
isweak EXPR
If EXPR is a scalar which is a weak reference the result is true.
$ref = $foo;
$weak = isweak($ref); # false
weaken($ref);
$weak = isweak($ref); # true
NOTE: Copying a weak reference creates a normal, strong, reference.
$copy = $ref;
$weak = isweak($ref); # false
looks_like_number EXPR
Returns true if perl thinks EXPR is a number. See "looks_like_number" in perlapi.
openhandle FH
Returns FH if FH may be used as a filehandle and is open, or FH is a tied handle. Otherwise undef is returned.
$fh = openhandle(*STDIN); # *STDIN
$fh = openhandle(*STDIN); # *STDIN
$fh = openhandle(*NOTOPEN); # undef
$fh = openhandle("scalar"); # undef
readonly SCALAR
Returns true if SCALAR is readonly.
sub foo { readonly($_[0]) }
$readonly = foo($bar); # false
$readonly = foo(0); # true
refaddr EXPR
If EXPR evaluates to a reference the internal memory address of the referenced value is returned. Otherwise undef is returned.
$addr = refaddr "string"; # undef
$addr = refaddr $var; # eg 12345678
$addr = refaddr []; # eg 23456784
$obj = bless {}, "Foo";
$addr = refaddr $obj; # eg 88123488
reftype EXPR
If EXPR evaluates to a reference the type of the variable referenced is returned. Otherwise undef is returned.
$type = reftype "string"; # undef
$type = reftype $var; # SCALAR
$type = reftype []; # ARRAY
$obj = bless {}, "Foo";
$type = reftype $obj; # HASH
set_prototype CODEREF, PROTOTYPE
Sets the prototype of the given function, or deletes it if PROTOTYPE is undef. Returns the CODEREF.
set_prototype &foo, $$;
tainted EXPR
Return true if the result of EXPR is tainted
$taint = tainted("constant"); # false
$taint = tainted($ENV{PWD}); # true if running under -T
weaken REF
REF will be turned into a weak reference. This means that it will not hold a reference count on the object it references. Also when the reference count on that object reaches zero, REF will be set to undef.
This is useful for keeping copies of references , but you dont want to prevent the object being DESTROY-ed at its usual time.
{
my $var;
$ref = $var;
weaken($ref); # Make $ref a weak reference
}
# $ref is now undef
Note that if you take a copy of a scalar with a weakened reference, the copy will be a strong reference.
my $var;
my $foo = $var;
weaken($foo); # Make $foo a weak reference
my $bar = $foo; # $bar is now a strong reference
This may be less obvious in other situations, such as grep(), for instance when grepping through a list of weakened references to objects that may have been destroyed already:
@object = grep { defined } @object;
This will indeed remove all references to destroyed objects, but the remaining references to objects will be strong, causing the remaining objects to never be destroyed because there is now always a strong reference to them in the @object array.
Download (0.042MB)
Added: 2007-05-21 License: Perl Artistic License Price:
888 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above stdin fileno search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed