pipe 1.0
mod_auth_pipe 1.0
mod-auth-pipe is a module of authentication written for Apache 1 (it hasnt been tested with Apache 2, but it may work). more>>
Actually, this module is just mod-auth-shadow with a few modifications in order to accept any program as a pipe, letting this one validate both users andr groups.
mod_auth_pipe contents the module itself and an example pipe.
mod-auth-pipe can be configured independantly for whole server, for any VirtualHost or just per Location/Directory. It has very few configuration variables and its format is very simple. In order to configure apache to authenticate, for example, access to the administrative interface of oscommerce you can type this on your httpd.conf:
< Directory /var/www/oscommerce/catalog/admin >
AuthType Basic
AuthName osCommerce admin site
AuthPipe on
AuthPipeProgram /usr/local/bin/auth-pipe
require group oscommerce-admins
< /Location >
This way, and with a well-made auth-pipe program you can be sure that only those within the group oscommerce-admins could enter that section of your web.
Pipe-Sem 1.0
This is a pipe based semaphore implementation for developing ASYNC applications. more>>
Pipe-Sem 1.0 is a good utility which might help you a lot in developing ASYNC applications. Many synchronization primitives are available for Unix systems, but any of them expose a pollable interface to the user. In these cases, if the caller execute a down operation on a blocking semaphore, the application will sleep and whole ASYNC loop will starve because of the wait.
To cope with this problem in ASYNC software, the publisher developed a pipe based semaphore implementation, called Pipe-Sem. The implementation is trivially simple and it uses the pipe internal mechanisms to expose a pollable wait interface.
Besides the standard semaphore operations, the function psem_down_fd() can be used to retrieve a files descriptor that can be dropped inside a Unix pollable API like select(2), poll(2) or epoll(2). The caller will have to wait for input events (POLLIN), and when receiving the event itself, the caller should invoke the psem_try_down() function to try to acquire the semaphore.
Please note that receiving an event from the pollable interface, does not mean that we acquired to semaphore, and the function psem_try_down() will have to be called (and tested for zero return code) to correctly complete the down operation.
<<lessPipe Viewer 1.0.1
Pipe Viewer is a pipeline data transfer meter. more>>
It can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, how near to completion it is, and an estimate of how long it will be until completion.
pv is now considered to be stable code: it appears to work reliably on systems it has been tested on.
Tmpf 1.0
Tmpf is tiny script (written in Ruby) to write standard output to a temporary file. more>>
The project is useful when you want to pipe output to a program that only accepts files, not standard input. Example: cat myfile.ps | tmpf gv (equivalent to: gv myfile.ps). Despite the incredible simplicity of this script, there is nothing quite like it provided among the standard Unix tools.
Pipepanic 0.1.3
Pipepanic is a pipe connecting game using libSDL. more>>
Comes with built-in help, is primarily mouse/stylus driven and can be played in different resolutions and orientations.
progress 1.0
Progress is a utility used in a pipe to report progress of data transfer to standard error. more>>
Enhancements:
- February 9, 2003
- progress 1.0
- Initial announcement
smixer 1.0.4
smixer is a command-line and scriptable program to control and display the mixer volume levels on a sound card in linux. more>>
Distrubution of smixer is under the GNU GPL. See the "COPYING" and/or smixer.c file for more information.
Usage is explained very good in the man page.
smixer may be invoked with the following command-line options:
-a When printing current settings include all devices.
-p Print out the current mixer settings, then exit.
-f file Process commands from file, then exit.
[no options] Process commands from stdin (interactive or from a pipe), then exit.
chpox 1.0
chpox provides transparent checkpointing and restarting of processes on Linux clusters. more>>
It may work with openMosix, is SMP safe, works as a kernel module, does not require kernel patches or program recompiling/relinking, and supports virtual memory, regular open files, pipes, Unix domain sockets, current directory, and child processes.
Enhancements:
- Support for Linux kernel version 2.6.17 was added.
- The user-space interface was improved.
- Shared file descriptors/tables are now supported.
- Some bugfixes were made.
XMMS InfoPipe 1.3
XMMS InfoPipe is a plugin that reports XMMS status via named pipe. more>>
While theres a possibility of setting up programs to be executed by XMMS when changing songs, XMMS InfoPipe provides better introspection: You can get information on song position, song length, playlist position, status (stopped/playing/paused), song title as displayed by XMMS, and file name. The information is reported in easily parseable textual format.
The possibilities for information use are limitless. So far, here are some of the things people have been using InfoPipe for:
Showing information of XMMS on home page, webcam page, or something related (script included)
Showing player information on IRC (spotted one script for Irssi)
Using any speech synthetizer to say the song information, reducing the need for external displays, and helping listening to unfamiliar music in bed when all you have is a remote control =) (script included).
Yeah, LIRC plugin seems to support this already, but it only supports ViaVoice - this allows you to use any speech synth... or any other types of output. Just an example of flexibility - I created the script to do that at 4 oclock in the morning, and even got 99% of Perl recommendations of good coding right, even when I wasnt fully awake.
PAIP 0.2.4
PAIP (pipe) is a universal filter application. more>>
You will need:
gcc & GNU make
GNU sed
GNU install
libdl
libpthread
In three steps you can install it:
1) ./configure
Enter the destination path on prompt.
Just pressing will set the default path /usr/local.
2) make
3) make install
Enhancements:
- fixed Makefiles
- extended plugin socket (connections-switch)
- new using-plugin jpg2bmp
- new using-plugin gif2bmp
Kino 1.1.0
Kino is a non-linear DV editor for GNU/Linux. more>>
You can load multiple video clips, cut and paste portions of video/audio, and save it to an edit decision list (SMIL XML format). Most edit and navigation commands are mapped to equivalent vi key commands.
Also, Kino can export the composite movie in a number of formats: DV over IEEE 1394, Raw DV, DV AVI, still frames, WAV, MP3, Ogg Vorbis, MPEG-1, MPEG-2, and MPEG-4. Still frame import and export uses gdk-pixbuf, which has support for BMG, GIF, JPEG, PNG, PPM, SVG, Targa, TIFF, and XPM. MP3 requires lame. Ogg Vorbis requires oggenc. MPEG-1 and MPEG-2 require mjpegtools or ffmpeg. MPEG-4 requires ffmpeg.
The current release introduces an experimental fx module, which is accessed from the FX tab in the main window. It provides some basic audio and video fx such as importing, filters and transitions for audio and video. It also provides some basic plug-in functionality to allow third party extension.
Currently, Kino does not support other video file formats or encodings. It does not support multiple layers or tracks of video and audio. We plan to implement most of these features, but first we chose to focus on the basics of IEEE-1394, video, audio, and file input and output. We place a lot of emphasis on quality, stability, performance, and workflow.
Main features:
General
- Free Software (GNU GPL)
- GTK+ 2.0 (GNOME) UI
- XML (SMIL like) project file format
- OSS audio
- GDK or XVideo
- online help
- Peer and developer support forums
- User interface translated to Danish, Swedish, French, Czech, and Spanish.
- Extensible project metadata system.
- Ability to "publish" project file and still frames using an extensible scripting interface.
Media Support
- DV-based (libdv codec)
- PAL or NTSC
- AVI (type1 or type2) or Raw DV files. with large AVI (OpenDML) and LFS (>2GB) support
Capture
- IEEE 1394 (Linux 1394) capture and export
- IEEE 1394 transport control (AV/C)
- USB Jog/Shuttle transport control
Editing
- Fast and frame-accurate navigation/scrubbing
- vi keybindings
- GUI transport controls, scrub bar, and shuttle control
- Storyboard view with drag-n-drop
- Trimmer with 3 point insert editing
- Fine-grain thumbnail viewer (Timeline, but not a typical NLE timeline)
- Drag-n-drop from file manager
- USB Jog/Shuttle input
- Undo/Redo up to 99X
Export
- IEEE 1394 DV Export
- Export audio as WAV, Ogg Vorbis (oggenc), MP3 (lame), or MP2 (mp2enc)
- Export (and import) multiple still frames as JPEG, PNG, TIFF, PPM, and others
- Export audio/video as MPEG-1, MPEG-2, and MPEG-4 (with mjpegtools or ffmpeg)
- Export raw DV via pipe, which is extensible with shell scripts.
Effects General
- Background generator: solid colour, gradient, colour range, noise, and image import
- Effects preview
- Effects plugin API (API not yet stable)
Video Filters
- Black/White
- Sepia tone
- Reverse (i.e. inverse or negative)
- Mirror
- Kaleidescope
- Swap (flip)
Video Transitions
- Fade to/from colour
- Dissolve
- Push Wipe
- Barn Door Wipe
- Colour Differences (and Similarities)
Audio Filters
- Silence
- Fade In/Out
Audio Transitions
- Cross-fade
- Dub (from external file)
- Mix (from external file)
pipebench 0.40
pipebench is a utility that shows the status and a benchmark of piped commands. more>>
Pipebench measures the speed of a pipe, by sitting in the middle passing the data along to the next process. Works on at least Linux, OpenBSD, NetBSD, Solaris and x86, Alpha, HPPA, Sparc and Sparc64.
Compiling
Just type make to compile.
Type make install to have pipebench be installed in /usr/local/bin
xmms-pipe 0.5.5
xmmspipe is a plugin for XMMS that enables it to be controlled by sending strings to a named pipe (FIFO). more>>
echo play_pause > ~/.xmms/inpipe
will cause XMMS to pause or play.
Since version 0.5.0, it is possible to setup an output pipe, and query XMMS for information. For example, sending "report title" to the input pipe will cause the current songs title to be printed on the output pipe.
Included is a demo program called "fade", that shows how to use the plugin to fade the current song and advance to the next one. It requires the output pipe to be be enabled (via the Config window).
The Infopipe plugin does output pipes a little differently.
When I first wrote this plugin, I didnt know about other programs that I couldve used to control XMMS with shell scripts, such as xmmsctrl or xmms-shell. However, Ive kept xmmspipe alive because pipes may be preferable in some situations:
The pipe automatically inherits the security features of the underlying filesystem (e.g. you could change its permissions so that only users of a particular group can control XMMS).
In many programming languages, writing to a pipe is easier than executing programs, making it easier to build programs to control XMMS.
The plugin can call internal XMMS functions which means it can have more functionality than programs relying on the xmms_remote_* functions alone. For example, XMMSPipe can load/save playlists.
Sometimes I think XMMS itself should just be an MP3-playing daemon that interfaces with the outside world exclusively through pipes (one for input, at least one for output). This would allow a lot more flexibility, e.g. the GUI could be arbitrary and playlists could be managed by an external program. (It would work in the same way gkrellm works with files in /proc.) Also, the code would be simpler because it only has to worry about reading various audio formats and playing them. It wouldnt have to deal with window managers, X, etc.
Enhancements:
- Added playlist_move command due to Graeme Yeo
fIcy 1.0.16
fIcy is a command line icecast/shoutcast stream grabber. more>>
fIcy is an icecast/shoutcast stream grabber suite for use under shell environment. Its goal is to cleanly and automatically rip a stream into user customisable files.
It will work with ICY compatible streams, allowing you to either to save the stream to disk or to pipe the output to a media player, or even both. fIcy, among other uses, is ideal for batch/unattended recording of radio programs and stream debugging.
The fIcy package includes:
fIcy itself, a stream separator/multiplexer,
fResync, a fast MPEG-resyncing utility,
fPls, a playlist frontend for fIcy.
Usage:
Synopsis:
fIcy [options] < server [port [path]]|url >
The main program. Takes directly a stream url and dumps the tracks on the specified file/s and standard output, depending on the settings.
fPls [options] < file|url > [fIcy options]
Playlist manager. Reads a playlist (local or remote) and manages fIcy retries/timeouts/errors, forwarding the specified flags.
fResync [options] file
MPEG resyncing utility. Re-aligns head frame headers on dumped or broken files. Usually needed for embedded hardware decoders or editing software.
Enhancements:
- Timeout support was refined.
- HTTP 301 redirects are now honored as well.
- fPls automatically forwards more flags to fIcy.
- The GNU sed requirement was removed in favor of a customizable coprocessor.
- A Mac OS X HFS+ encoding limitation work-around has been implemented.
IO::Pipe::Producer 1.5
IO::Pipe::Producer is a Perl module that provides two modules getSubroutineProducer and getSystemProducer. more>>
SYNOPSIS
# Module which provides 2 methods: getSubroutineProducer
# and getSystemProducer. They take a subroutine reference
# (with associated arguments) and a system call
# respectively and return (blessed) handles on their
# streaming standard output and standard error output.
# EXAMPLES of usage
use IO::Pipe::Producer;
$obj = new IO::Pipe::Producer();
$stdout_fh =
$obj->getSubroutineProducer($subroutine_reference,
@subroutine_parameters);
# OR
use IO::Pipe::Producer;
$obj = new IO::Pipe::Producer();
($stdout_fh,$stderr_fh) =
$obj->getSubroutineProducer($subroutine_reference,
@subroutine_parameters);
# OR
use IO::Pipe::Producer;
$stdout_fh = new IO::Pipe::Producer($subroutine_reference,
@subroutine_parameters);
# OR
use IO::Pipe::Producer;
($stdout_fh,$stderr_fh) =
new IO::Pipe::Producer($subroutine_reference,
@subroutine_parameters);
# Then you can read the returned handles like any other
# file handle...
while()
{print "STDOUT From Producer: $_"}
while()
{print "STDERR From Producer: $_"}
# You can also do the same thing with system calls using
# the getSystemProducer subroutine. However, this feature
# is not accessible via the new constructor
use IO::Pipe::Producer;
$obj = new IO::Pipe::Producer();
$stdout_fh =
$obj->getSystemProducer("echo "Hello World!"");
use IO::Pipe::Producer;
$obj = new IO::Pipe::Producer();
($stdout_fh,$stderr_fh) =
$obj->getSystemProducer("echo "Hello World!"");
# However, this is exactly the same as:
use IO::Pipe::Producer;
$stdout_fh = new Producer(sub{system(@_)},
"echo "Hello World!"");
# OR
use IO::Pipe::Producer;
($stdout_fh,$stderr_fh) =
new IO::Pipe::Producer(sub{system(@_)},
"echo "Hello World!"");