output devices
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3577
Sys::OutPut 2.1
Sys::OutPut is a Perl module to help make output easier. more>>
Sys::OutPut is a Perl module to help make output easier.
SYNOPSIS
usage Sys::OutPut;
talk $fmtstr [, @args];
out $fmtstr [, @args];
put $fmtstr [, @args];
err $fmtstr [, @args];
debug $fmtstr [, @args];
$Sys::OutPut::quiet = $::quiet;
$Sys::OutPut::debug = $::debug;
These subroutines will make generating output to STDOUT and STDERR easier.
All of the routines treat the $fmtstr argument as a printf format string, with @args as the format string arguments.
The talk routine generates output to STDERR only if the variable $Sys::OutPut::quiet is non-null and non-zero.
The out routine generates output to STDOUT, with a newline appended to , if it is not already terminated with one.
The put routine generates output to STDOUT, without any additional trailing newline.
The err routine generates output to STDERR, with a newline appended if needed.
The debug routine generates output to STDERR only if the variable
$Sys::OutPut::debug is non-null and non-zero, which is also returned as the result.
This allows for convenient usages such as in the following example:
sub foo {
...
return if debug "Stopping now.";
...
next if debug "Skipping further processing";
...
}
If not defined by the user, the $Sys::OutPut::quiet and $Sys::OutPut::debug variables are initialized from their corresponding main variables $::quiet and $::debug, respectively, unless they are already defined.
<<lessSYNOPSIS
usage Sys::OutPut;
talk $fmtstr [, @args];
out $fmtstr [, @args];
put $fmtstr [, @args];
err $fmtstr [, @args];
debug $fmtstr [, @args];
$Sys::OutPut::quiet = $::quiet;
$Sys::OutPut::debug = $::debug;
These subroutines will make generating output to STDOUT and STDERR easier.
All of the routines treat the $fmtstr argument as a printf format string, with @args as the format string arguments.
The talk routine generates output to STDERR only if the variable $Sys::OutPut::quiet is non-null and non-zero.
The out routine generates output to STDOUT, with a newline appended to , if it is not already terminated with one.
The put routine generates output to STDOUT, without any additional trailing newline.
The err routine generates output to STDERR, with a newline appended if needed.
The debug routine generates output to STDERR only if the variable
$Sys::OutPut::debug is non-null and non-zero, which is also returned as the result.
This allows for convenient usages such as in the following example:
sub foo {
...
return if debug "Stopping now.";
...
next if debug "Skipping further processing";
...
}
If not defined by the user, the $Sys::OutPut::quiet and $Sys::OutPut::debug variables are initialized from their corresponding main variables $::quiet and $::debug, respectively, unless they are already defined.
Download (0.010MB)
Added: 2006-11-02 License: Perl Artistic License Price:
1087 downloads
XML::Output 0.03
XML::Output is a Perl module for writing simple XML documents. more>>
XML::Output is a Perl module for writing simple XML documents.
SYNOPSIS
use XML::Output;
open(FH,>file.xml);
my $xo = new XML::Output({fh => *FH});
$xo->open(tagname, {attrname => attrval});
$xo->pcdata(element content);
$xo->close();
close(FH);
ABSTRACT
XML::Output is a Perl module for writing simple XML documents
XML::Output is a Perl module for writing simple XML document. The following methods are provided.
new
$xo = new XML::Output;
Constructs a new XML::Output object.
open
$xo->open(tagname, {attrname => attrval});
Open an element with specified name (and optional attributes)
close
$xo->close;
Close an element
empty
$xo->empty(tagname, {attrname => attrval});
Insert an empty element with specified name (and optional attributes)
pcdata
$xo->pcdata(element content);
Insert text
comment
$xo->comment(comment text);
Insert a comment
xmlstr
print $xo->xmlstr;
Get a string representation of the constructed document
<<lessSYNOPSIS
use XML::Output;
open(FH,>file.xml);
my $xo = new XML::Output({fh => *FH});
$xo->open(tagname, {attrname => attrval});
$xo->pcdata(element content);
$xo->close();
close(FH);
ABSTRACT
XML::Output is a Perl module for writing simple XML documents
XML::Output is a Perl module for writing simple XML document. The following methods are provided.
new
$xo = new XML::Output;
Constructs a new XML::Output object.
open
$xo->open(tagname, {attrname => attrval});
Open an element with specified name (and optional attributes)
close
$xo->close;
Close an element
empty
$xo->empty(tagname, {attrname => attrval});
Insert an empty element with specified name (and optional attributes)
pcdata
$xo->pcdata(element content);
Insert text
comment
$xo->comment(comment text);
Insert a comment
xmlstr
print $xo->xmlstr;
Get a string representation of the constructed document
Download (0.035MB)
Added: 2006-09-07 License: GPL (GNU General Public License) Price:
1144 downloads
Device::Gsm 1.48
Device::Gsm is a Perl extension to interface GSM phones / modems. more>>
Device::Gsm is a Perl extension to interface GSM phones / modems.
SYNOPSIS
use Device::Gsm;
my $gsm = new Device::Gsm( port => /dev/ttyS1, pin => xxxx );
if( $gsm->connect() ) {
print "connected!n";
} else {
print "sorry, no connection with gsm phone on serial port!n";
}
# Register to GSM network (you must supply PIN number in above new() call)
$gsm->register();
# Send quickly a short text message
$gsm->send_sms(
recipient => +3934910203040,
content => Hello world! from Device::Gsm
);
# Get list of Device::Gsm::Sms message objects
# see `examples/read_messages.pl for all the details
my @messages = $gsm->messages();
Device::Gsm class implements basic GSM functions, network registration and SMS sending.
This class supports also PDU mode to send SMS messages, and should be fairly usable. In the past, I have developed and tested it under Linux RedHat 7.1 with a 16550 serial port and Siemens C35i/C45 GSM phones attached with a Siemens-compatible serial cable. Currently, Im developing and testing this stuff with Linux Slackware 10.2 and a Cambridge Silicon Radio (CSR) USB bluetooth dongle, connecting to a Nokia 6600 phone.
Please be kind to the universe and contact me if you have troubles or you are interested in this.
Please be monstruosly kind to the universe and (if you dont mind spending an SMS) use the examples/send_to_cosimo.pl script to make me know that Device::Gsm works with your device (thanks!).
Recent versions of Device::Gsm have also an utility called autoscan in the bin/ folder, that creates a little profile of the devices it runs against, that contains information about supported commands and exact output of commands to help recognize similar devices.
Be sure to send me your profile by email (if you want to), so I can add better support for your device in the future!
<<lessSYNOPSIS
use Device::Gsm;
my $gsm = new Device::Gsm( port => /dev/ttyS1, pin => xxxx );
if( $gsm->connect() ) {
print "connected!n";
} else {
print "sorry, no connection with gsm phone on serial port!n";
}
# Register to GSM network (you must supply PIN number in above new() call)
$gsm->register();
# Send quickly a short text message
$gsm->send_sms(
recipient => +3934910203040,
content => Hello world! from Device::Gsm
);
# Get list of Device::Gsm::Sms message objects
# see `examples/read_messages.pl for all the details
my @messages = $gsm->messages();
Device::Gsm class implements basic GSM functions, network registration and SMS sending.
This class supports also PDU mode to send SMS messages, and should be fairly usable. In the past, I have developed and tested it under Linux RedHat 7.1 with a 16550 serial port and Siemens C35i/C45 GSM phones attached with a Siemens-compatible serial cable. Currently, Im developing and testing this stuff with Linux Slackware 10.2 and a Cambridge Silicon Radio (CSR) USB bluetooth dongle, connecting to a Nokia 6600 phone.
Please be kind to the universe and contact me if you have troubles or you are interested in this.
Please be monstruosly kind to the universe and (if you dont mind spending an SMS) use the examples/send_to_cosimo.pl script to make me know that Device::Gsm works with your device (thanks!).
Recent versions of Device::Gsm have also an utility called autoscan in the bin/ folder, that creates a little profile of the devices it runs against, that contains information about supported commands and exact output of commands to help recognize similar devices.
Be sure to send me your profile by email (if you want to), so I can add better support for your device in the future!
Download (0.055MB)
Added: 2007-04-17 License: Perl Artistic License Price:
927 downloads
Device Control Device 0.13
Device Control Device is a platform independent remote telescope and device control program. more>>
Device Control Device is a platform independent remote telescope and device control program compatible with the INDI standard (see http://indi.sourceforge.net/).
This program is a client (a user interface) and provides functions to control devices connected to a remote system that is running an INDI server.
The features and the structure of the GUI are similar to the Kstars INDI client. The only advantages are support for Windows and lower resource requirements.
<<lessThis program is a client (a user interface) and provides functions to control devices connected to a remote system that is running an INDI server.
The features and the structure of the GUI are similar to the Kstars INDI client. The only advantages are support for Windows and lower resource requirements.
Download (0.073MB)
Added: 2005-09-11 License: GPL (GNU General Public License) Price:
1509 downloads
Portable SDK for UPnP Devices 1.4.1
Portable SDK for UPnP Devices (libupnp) provides developers with an API and code for building control points, devices. more>>
Portable SDK for UPnP Devices in short libupnp provides developers with an API and code for building control points, devices, and bridges that are compliant with Version 1.0 of the Universal Plug and Play Device Architecture Specification.
This allows discovery, event notification, and control of devices on a network, independent of operating system, programming language, or physical network connection.
UPnP is an architecture that enables discovery, event notification, and control of devices on a network, independent of operating system, programming language, or physical network connection. UPnP is based on common Internet standards and specifications such as TCP/IP, HTTP, and XML.
Enhancements:
- Full support for the Windows and FreeBSD operating systems was added.
- Fixes were made for x86_64 architectures.
- Several memory leaks and possible reasons for crashes were fixed.
<<lessThis allows discovery, event notification, and control of devices on a network, independent of operating system, programming language, or physical network connection.
UPnP is an architecture that enables discovery, event notification, and control of devices on a network, independent of operating system, programming language, or physical network connection. UPnP is based on common Internet standards and specifications such as TCP/IP, HTTP, and XML.
Enhancements:
- Full support for the Windows and FreeBSD operating systems was added.
- Fixes were made for x86_64 architectures.
- Several memory leaks and possible reasons for crashes were fixed.
Download (0.73MB)
Added: 2006-07-17 License: BSD License Price:
1214 downloads
MTPdude 0.0.6
MTPdude is a minimalistic application for the use of the libmtp which allows to access new MTP-Based Multimedia devices. more>>
MTPdude is a minimalistic application for the use of the libmtp which allows to access new MTP-Based Multimedia devices.
<<less Download (0.33MB)
Added: 2006-04-16 License: GPL (GNU General Public License) Price:
1289 downloads
Audio Input-Output Library 0.2.0
Audio Input-Output Library (libaio) is meant to solve the problem of differing digital audio platforms once and for all. more>>
Audio Input-Output Library (libaio) is meant to solve the problem of differing digital audio platforms once and for all.
JACK is unnecessarily complex for most applications, and while libaos support for file output is cool, it limits what the API can do and is therefore inadequate for any kind of real time application.
libaio provides a clean application interface and a simple compile-time driver switching decision, yielding a lightweight way to use the local sound hardware without having to care what it is.
Libaios first sparkle was when I, Hod McWuff (alias, of course), found myself trying to debug ALSA implementations for libao and madplay, and another audio-related project Id been working on. That project needed multiplatform audio support of its own, with latency management, which libao lacked.
It also seemed that libao shouldnt have been trying to be both a hardware abstraction *AND* an output abstraction, and also that it seemed more intuitive as an output (live vs file) abstraction.
Enter libaio. All it does is abstract the local sound hardware platform, to present a clean, uniform interface to playing and capturing digital audio, with facilities for basic latency management. It was written from scratch around its developing ALSA driver, from many many reference sources including libao and Robert Leslies excellent madplay MP3 decoder, and of course the ALSA documentation and examples.
Libaios distinction comes from its build-time decisionmaking. It only compiles and links the best driver available for the given platform. Therefore, selecting and loading a driver no longer applies; and well it shouldnt, theres never more than one correct choice anyway.
Libaio is not intended to replace libao; rather it is intended to supplement it. The key argument is, why would anyone EVER have more than one running sound platform type on any single machine? Sure, they might have ESD or ARTS, but they more resemble file output than a live device. Theres also the OSS emulation in ALSA, but given a good ALSA driver, whod use OSS?
Then theres the fact that applications have to tell libao what "plugin" to use, and all the drivers in libao have different parameters. That means the application has to know more than it should about what it shouldnt have to see. The app shouldnt have to say more than "give me the local device for playback with *** format" or something to that effect, and start writing.
Finally, plugins for stuff like proprietary file formats, ESD et al, but there shouldnt be any need for more than one of (ALSA|OSS|SUN|WIN32|MACOSX ) on any given distribution. Therefore, binary distribution of a compiled-in driver is possible, even preferred.
It is proposed that all of the hardware drivers in libao, and madplay, and several other places, be reviewed and ported to libaio. Then, they can be removed from those packages in favor of an AIO interface.
Installation:
## building
./configure
make
## installing (as root)
make install
<<lessJACK is unnecessarily complex for most applications, and while libaos support for file output is cool, it limits what the API can do and is therefore inadequate for any kind of real time application.
libaio provides a clean application interface and a simple compile-time driver switching decision, yielding a lightweight way to use the local sound hardware without having to care what it is.
Libaios first sparkle was when I, Hod McWuff (alias, of course), found myself trying to debug ALSA implementations for libao and madplay, and another audio-related project Id been working on. That project needed multiplatform audio support of its own, with latency management, which libao lacked.
It also seemed that libao shouldnt have been trying to be both a hardware abstraction *AND* an output abstraction, and also that it seemed more intuitive as an output (live vs file) abstraction.
Enter libaio. All it does is abstract the local sound hardware platform, to present a clean, uniform interface to playing and capturing digital audio, with facilities for basic latency management. It was written from scratch around its developing ALSA driver, from many many reference sources including libao and Robert Leslies excellent madplay MP3 decoder, and of course the ALSA documentation and examples.
Libaios distinction comes from its build-time decisionmaking. It only compiles and links the best driver available for the given platform. Therefore, selecting and loading a driver no longer applies; and well it shouldnt, theres never more than one correct choice anyway.
Libaio is not intended to replace libao; rather it is intended to supplement it. The key argument is, why would anyone EVER have more than one running sound platform type on any single machine? Sure, they might have ESD or ARTS, but they more resemble file output than a live device. Theres also the OSS emulation in ALSA, but given a good ALSA driver, whod use OSS?
Then theres the fact that applications have to tell libao what "plugin" to use, and all the drivers in libao have different parameters. That means the application has to know more than it should about what it shouldnt have to see. The app shouldnt have to say more than "give me the local device for playback with *** format" or something to that effect, and start writing.
Finally, plugins for stuff like proprietary file formats, ESD et al, but there shouldnt be any need for more than one of (ALSA|OSS|SUN|WIN32|MACOSX ) on any given distribution. Therefore, binary distribution of a compiled-in driver is possible, even preferred.
It is proposed that all of the hardware drivers in libao, and madplay, and several other places, be reviewed and ported to libaio. Then, they can be removed from those packages in favor of an AIO interface.
Installation:
## building
./configure
make
## installing (as root)
make install
Download (0.15MB)
Added: 2006-04-07 License: LGPL (GNU Lesser General Public License) Price:
1298 downloads
Lout 3.36
Lout is a document formatting system. more>>
Lout project is a document formatting system.
The system reads a high-level description of a document similar in style to LaTeX and produces a PostScript file which can be printed on most laser printers and graphic display devices.
Plain text and PDF (starting from version 3.12) output are also available.
<<lessThe system reads a high-level description of a document similar in style to LaTeX and produces a PostScript file which can be printed on most laser printers and graphic display devices.
Plain text and PDF (starting from version 3.12) output are also available.
Download (2.0MB)
Added: 2007-07-27 License: GPL (GNU General Public License) Price:
823 downloads
Simple Sound for Small Devices 089m_20050905
Simple Sound for Small Devices (libsssd) is a simple cross-platform audio library. more>>
Simple Sound for Small Devices (libsssd) is a simple cross-platform audio library. Simple Sound for Small Devices is designed primarily for games on portable devices such as smart phones, PDAs, and hand-helds.
Simple Sound for Small Devices is designed as a very portable, cross-platform API for sound playback on small and embedded devices. Target platforms include smartphones, PDAs, Smart displays, webpads and embedded systems.
Target OSes include Linux (OSS/Free), Win32, WinCE/PPC/Smartphone, Symbian, and AmigaDE (both hosted and native). The library is biased toward real-time audio applications (like games), but is suitable for a wide array of other uses.
Installation:
To install the libsssd library, cd to the src direcotry and type make install
To make the demo applications, cd to the test directory and type make
Enhancements:
- Updated code to work with libsndfile 1.0.5
- Modularized each function for OSs that support tool libraries (AmigaDE)
- Added initAudio() and freeAudio() functions to allocate the control structure as different compilers may not pack the struct the same.
- Added support to init the audio player with different sample rates, bit depths, and channels (stereo, mono). Added support for user setting max number of playing channels and max number of cached samples at init time.
- fixed bug in player thread overflow functions (la,lb)
<<lessSimple Sound for Small Devices is designed as a very portable, cross-platform API for sound playback on small and embedded devices. Target platforms include smartphones, PDAs, Smart displays, webpads and embedded systems.
Target OSes include Linux (OSS/Free), Win32, WinCE/PPC/Smartphone, Symbian, and AmigaDE (both hosted and native). The library is biased toward real-time audio applications (like games), but is suitable for a wide array of other uses.
Installation:
To install the libsssd library, cd to the src direcotry and type make install
To make the demo applications, cd to the test directory and type make
Enhancements:
- Updated code to work with libsndfile 1.0.5
- Modularized each function for OSs that support tool libraries (AmigaDE)
- Added initAudio() and freeAudio() functions to allocate the control structure as different compilers may not pack the struct the same.
- Added support to init the audio player with different sample rates, bit depths, and channels (stereo, mono). Added support for user setting max number of playing channels and max number of cached samples at init time.
- fixed bug in player thread overflow functions (la,lb)
Download (0.92MB)
Added: 2006-02-17 License: MPL (Mozilla Public License) Price:
1349 downloads
Arbitrary Command Output Colourer 0.7.1
acoc is a regular-expression based colour formatter for programs that display output on the command-line. more>>
acoc is a regular-expression based colour formatter for programs that display output on the command-line. It works as a wrapper around the target program, executing it and capturing the stdout stream. Optionally, stderr can be redirected to stdout, so that it, too, can be manipulated. acoc then applies matching rules to patterns in the output and applies colours to those matches.
Ever wondered why the output of your favourite UNIX/Linux commands is still displayed in black-and-white after all these years?
Ever had to search back through your scroll-buffer in search of gcc errors and salient information to tell you what went wrong with your programs execution?
acoc is a regular expression based colour formatter for programs that display output on the command-line. It works as a wrapper around the target program, executing it and capturing the stdout stream. Optionally, stderr can be redirected to stdout, so that it, too, can be manipulated.
acoc then applies matching rules to patterns in the output and applies colour sets to those matches. A picture is worth a thousand words, so look at the sample screenshots in the next section.
Configuration
The configuration files used by the program are /usr/local/etc/acoc.conf, /etc/acoc.conf and ~/acoc.conf. One or more of these must exist. A sample /etc/acoc.conf is supplied with some example matching rules.
Blank lines and those that begin with a # are ignored.
A program configuration stanza is introduced as follows:
[program_spec]
The square brackets are mandatory literal characters. Alternatively, the @ symbol may be used, to allow [ and ] to retain their usual semantics in program specs comprising a regular expression:
@program_spec@
program_spec is defined as one or more instances of the following component, separated by a comma:
invocation[/flags]
where invocation consists of the programs name (not including its directory path component) plus any initial arguments.
Alternatively, invocation may be a regular expression, which can be used to match multiple programs and/or command-line arguments in arbitrary order. Regular expressions are automatically anchored to the beginning of the command line.
flags, if present, is separated from invocation by a slash and consists of one or more of the following characters:
a
continue to attempt to find matching patterns after the first match has been found. By default, acoc will stop processing a line and display it after the first match has been found.
e
redirect the target programs stderr to stdout, allowing it, too, to be matched by rules
p
allocate a pseudo-terminal in which to run the target program
Some programs, such as ls(1), behave differently when their stdout is not connected to a tty. Use of this option will fool the target program into believing it is outputting to a tty, rather than a pipe to acoc.
Use of this flag requires Masahiro Tomitas Ruby/TPty library to be installed. Otherwise, the flag is silently ignored.
Note that the pseudo-terminal communication enabled by this flag is one-way only, from the target program to acoc. It is thus not possible to use acoc in combination with interactive programs, such as the interactive Ruby interpreter (irb).
t
apply colour formatting even if stdout is not a tty. By default, formatting is not applied if the output stream is not attached to a terminal.
Heres an example of a line that introduces a configuration stanza:
[rpm/ae,rpmbuild/ae]
which says to apply the following rules to the rpm and rpmbuild commands, attempt to apply all matching rules, and also apply those rules to the programs stderr stream.
Another example:
[ls/p]
This says to allocate a pseudo-terminal to ls(1), fooling it into believing that its output is being sent to a regular terminal instead of a pipe to acoc.
With this flag, the effect will be this:
$ ls
file1 file2 file3 file4 file5 file6
Without it, ls will detect that its stdout is connected to a pipe and behave accordingly:
$ ls
file1
file2
file3
file4
file5
file6
A third example:
[diff/t,rcsdiff/t,cvs diff/t,p4 diff/t]
This says that the rules that follow should be applied to all invocations of diff(1) and rcsdiff(1), as well as those invocations of cvs(1) and p4 that are followed by the argument diff.
Additionally, colouring should be applied even when stdout is not connected to a tty, so that the colours still show up when the output is displayed in a pager such as more(1) or less(1).
Yet another example:
/ps -.*(e.*f|f.*e)/
In this example, the ps(1) command will be matched, as long as the e and f options are both passed in either order.
An alternative way to write the above spec is:
@ps -.*[ef].*[ef]@
There are two things to note in this alternative:
1. @ has been used to delimit the spec, because [ and ] are required for the character lists in the regular expression.
2. While this form is less specific (in that it allows matches against duplicated command line options), it makes for considerably shorter specs if one wishes to test for the inclusion of a set of more than 2 or 3 command line flags. In the original form, one must manually list all of the possible permutations, which is equal to x! (factorial). For 3 command line flags, this is 6 permutations; for 4, it is 24, etc.
Heres one more example:
[tcpdump/r]
If this were placed in ~/.acoc.conf, it would remove any matching rules that had been installed for the diff command by either /etc/acoc.conf or /usr/local/etc/acoc.conf.
After defining the program name and operational flags, matching rules can be defined. These take the following form:
/regex/[flags] colour_spec
where regex is a Ruby-compatible regular expression. The delimiting / characters can be any character, as long as that character is not present in the regular expression itself. flags, if present, consists of one or more characters from the following list:
g
find every match on the line, not just the first. When using this flag, regex should not include parentheses.
colour_spec is defined as a comma-separated list of one or more colour_groups, which are defined as a plus-separated (+) list of one or more of the following:
* black
* blink
* blue
* bold
* clear
* concealed
* cyan
* dark
* green
* italic
* magenta
* negative
* on_black
* on_blue
* on_cyan
* on_green
* on_magenta
* on_red
* on_white
* on_yellow
* rapid_blink
* red
* reset
* strikethrough
* underline
* underscore
* white
* yellow
Examples of a colour_group are white+bold, black+on_white, etc. A complete colour_spec might look like this:
red+bold,white,yellow+bold,black+on_green
Except when using the g flag, each component of the regex that you wish to colour should be placed in parentheses. Text outside parentheses will be used for matching, but will not be coloured.
For example, examine the following:
/^(d+)foos*(w+)/
This will match a line that starts with more or one digits, followed by the string foo and any amount of white space, followed by one or more word characters. However, only the initial group of digits and the group of word characters will be coloured. The string foo and the white space that follows it will be used for matching, but will not be coloured.
Separated from the regex by white space is the colour_spec. Usually, you will include in this as many colours (separated by commas) as you have parenthesised expressions in the regex. However, its also permissible to have fewer. If, for example, you have three parenthesised expressions in the regex, but only two colours listed in the colour_spec, then the second colour will be used for colouring both the second and third matches.
If you have more colours listed in the colour_spec than there are parenthesised expressions in the regex, the surplus colours are ignored.
When using the g flag to perform a global match on the line, you may list as many colours as you want. The same rules apply here. If there are more matches than colours, the remaining matches will be coloured using the last colour listed. Surplus colours are ignored.
<<lessEver wondered why the output of your favourite UNIX/Linux commands is still displayed in black-and-white after all these years?
Ever had to search back through your scroll-buffer in search of gcc errors and salient information to tell you what went wrong with your programs execution?
acoc is a regular expression based colour formatter for programs that display output on the command-line. It works as a wrapper around the target program, executing it and capturing the stdout stream. Optionally, stderr can be redirected to stdout, so that it, too, can be manipulated.
acoc then applies matching rules to patterns in the output and applies colour sets to those matches. A picture is worth a thousand words, so look at the sample screenshots in the next section.
Configuration
The configuration files used by the program are /usr/local/etc/acoc.conf, /etc/acoc.conf and ~/acoc.conf. One or more of these must exist. A sample /etc/acoc.conf is supplied with some example matching rules.
Blank lines and those that begin with a # are ignored.
A program configuration stanza is introduced as follows:
[program_spec]
The square brackets are mandatory literal characters. Alternatively, the @ symbol may be used, to allow [ and ] to retain their usual semantics in program specs comprising a regular expression:
@program_spec@
program_spec is defined as one or more instances of the following component, separated by a comma:
invocation[/flags]
where invocation consists of the programs name (not including its directory path component) plus any initial arguments.
Alternatively, invocation may be a regular expression, which can be used to match multiple programs and/or command-line arguments in arbitrary order. Regular expressions are automatically anchored to the beginning of the command line.
flags, if present, is separated from invocation by a slash and consists of one or more of the following characters:
a
continue to attempt to find matching patterns after the first match has been found. By default, acoc will stop processing a line and display it after the first match has been found.
e
redirect the target programs stderr to stdout, allowing it, too, to be matched by rules
p
allocate a pseudo-terminal in which to run the target program
Some programs, such as ls(1), behave differently when their stdout is not connected to a tty. Use of this option will fool the target program into believing it is outputting to a tty, rather than a pipe to acoc.
Use of this flag requires Masahiro Tomitas Ruby/TPty library to be installed. Otherwise, the flag is silently ignored.
Note that the pseudo-terminal communication enabled by this flag is one-way only, from the target program to acoc. It is thus not possible to use acoc in combination with interactive programs, such as the interactive Ruby interpreter (irb).
t
apply colour formatting even if stdout is not a tty. By default, formatting is not applied if the output stream is not attached to a terminal.
Heres an example of a line that introduces a configuration stanza:
[rpm/ae,rpmbuild/ae]
which says to apply the following rules to the rpm and rpmbuild commands, attempt to apply all matching rules, and also apply those rules to the programs stderr stream.
Another example:
[ls/p]
This says to allocate a pseudo-terminal to ls(1), fooling it into believing that its output is being sent to a regular terminal instead of a pipe to acoc.
With this flag, the effect will be this:
$ ls
file1 file2 file3 file4 file5 file6
Without it, ls will detect that its stdout is connected to a pipe and behave accordingly:
$ ls
file1
file2
file3
file4
file5
file6
A third example:
[diff/t,rcsdiff/t,cvs diff/t,p4 diff/t]
This says that the rules that follow should be applied to all invocations of diff(1) and rcsdiff(1), as well as those invocations of cvs(1) and p4 that are followed by the argument diff.
Additionally, colouring should be applied even when stdout is not connected to a tty, so that the colours still show up when the output is displayed in a pager such as more(1) or less(1).
Yet another example:
/ps -.*(e.*f|f.*e)/
In this example, the ps(1) command will be matched, as long as the e and f options are both passed in either order.
An alternative way to write the above spec is:
@ps -.*[ef].*[ef]@
There are two things to note in this alternative:
1. @ has been used to delimit the spec, because [ and ] are required for the character lists in the regular expression.
2. While this form is less specific (in that it allows matches against duplicated command line options), it makes for considerably shorter specs if one wishes to test for the inclusion of a set of more than 2 or 3 command line flags. In the original form, one must manually list all of the possible permutations, which is equal to x! (factorial). For 3 command line flags, this is 6 permutations; for 4, it is 24, etc.
Heres one more example:
[tcpdump/r]
If this were placed in ~/.acoc.conf, it would remove any matching rules that had been installed for the diff command by either /etc/acoc.conf or /usr/local/etc/acoc.conf.
After defining the program name and operational flags, matching rules can be defined. These take the following form:
/regex/[flags] colour_spec
where regex is a Ruby-compatible regular expression. The delimiting / characters can be any character, as long as that character is not present in the regular expression itself. flags, if present, consists of one or more characters from the following list:
g
find every match on the line, not just the first. When using this flag, regex should not include parentheses.
colour_spec is defined as a comma-separated list of one or more colour_groups, which are defined as a plus-separated (+) list of one or more of the following:
* black
* blink
* blue
* bold
* clear
* concealed
* cyan
* dark
* green
* italic
* magenta
* negative
* on_black
* on_blue
* on_cyan
* on_green
* on_magenta
* on_red
* on_white
* on_yellow
* rapid_blink
* red
* reset
* strikethrough
* underline
* underscore
* white
* yellow
Examples of a colour_group are white+bold, black+on_white, etc. A complete colour_spec might look like this:
red+bold,white,yellow+bold,black+on_green
Except when using the g flag, each component of the regex that you wish to colour should be placed in parentheses. Text outside parentheses will be used for matching, but will not be coloured.
For example, examine the following:
/^(d+)foos*(w+)/
This will match a line that starts with more or one digits, followed by the string foo and any amount of white space, followed by one or more word characters. However, only the initial group of digits and the group of word characters will be coloured. The string foo and the white space that follows it will be used for matching, but will not be coloured.
Separated from the regex by white space is the colour_spec. Usually, you will include in this as many colours (separated by commas) as you have parenthesised expressions in the regex. However, its also permissible to have fewer. If, for example, you have three parenthesised expressions in the regex, but only two colours listed in the colour_spec, then the second colour will be used for colouring both the second and third matches.
If you have more colours listed in the colour_spec than there are parenthesised expressions in the regex, the surplus colours are ignored.
When using the g flag to perform a global match on the line, you may list as many colours as you want. The same rules apply here. If there are more matches than colours, the remaining matches will be coloured using the last colour listed. Surplus colours are ignored.
Download (0.04MB)
Added: 2005-04-11 License: GPL (GNU General Public License) Price:
1656 downloads
ComediClientServer 1.1
ComediClientServer is a system to control and test COMEDI devices remotely (or locally). more>>
ComediClientServer is a system to control and test COMEDI devices remotely (or locally).
The system consists of two programs, a multiplatform client (written using Qt 3.x) and a Linux server.
The server is for Linux only. It is intended to run as a daemon process, and it exports an interface to control AI, AO, DI, DO and AIO channels remotely via the network.
The client is intended to run as GUI app on either Max OSX, Windows, or Linux.
The motivation for this program was that I wanted a quick oscilloscope-like program for controlling COMEDI devices, and I wanted to be able to do it over the network and/or from even a Windows workstation.
Main features:
- Remote access -- control COMEDI devices remotely from anywhere
- Set voltages on analog output channels
- Monitor the voltage of analog input channels graphically on the screen
- Digital input on DI or DIO channels or digital output on DO or DIO channels.
- Configure DIO mode for input or output
- Monitor and control multiple digital lines at once using a compact and elegant user interface.
- Client runs on multiple platforms: Windows, Linux and OSX (whatever platforms Qt 3.x supports).
<<lessThe system consists of two programs, a multiplatform client (written using Qt 3.x) and a Linux server.
The server is for Linux only. It is intended to run as a daemon process, and it exports an interface to control AI, AO, DI, DO and AIO channels remotely via the network.
The client is intended to run as GUI app on either Max OSX, Windows, or Linux.
The motivation for this program was that I wanted a quick oscilloscope-like program for controlling COMEDI devices, and I wanted to be able to do it over the network and/or from even a Windows workstation.
Main features:
- Remote access -- control COMEDI devices remotely from anywhere
- Set voltages on analog output channels
- Monitor the voltage of analog input channels graphically on the screen
- Digital input on DI or DIO channels or digital output on DO or DIO channels.
- Configure DIO mode for input or output
- Monitor and control multiple digital lines at once using a compact and elegant user interface.
- Client runs on multiple platforms: Windows, Linux and OSX (whatever platforms Qt 3.x supports).
Download (1.4MB)
Added: 2007-05-31 License: GPL (GNU General Public License) Price:
879 downloads
phpautotest 1.0.3
phpautotest is a tool for conducting automated regression tests on PHP-driven Web sites. more>>
phpautotest is a tool for conducting automated regression tests on PHP-driven Web sites. Variable values as well as HTTP output can be tested.
HTTP output is tested using regular expressions.
<<lessHTTP output is tested using regular expressions.
Download (0.18MB)
Added: 2006-05-11 License: MIT/X Consortium License Price:
1264 downloads
Movic 0.1.0
Movic project is a front-end for ffmpeg which converts video files to the formats supported by mobile devices. more>>
Movic project is a front-end for ffmpeg which converts video files to the formats supported by mobile devices.
Installed version of ffmpeg should support the input files format and these output formats:
Format Audio Codec Video Codec
------------------------------------------------------
MPEG-4 xvid(mpeg-4) aac
3GPP h263 amr_nb
movic reads the formats from XML files( $(datadir)/mobile-video-converter/formats.xml
and $HOME/.movic.xml ). Currently only few formats are available so if the formats you want is not included, create a file named .movic.xml, add the formats to it(see formats.xml and follow its syntax) and put it in your home directory. movic will automaticaly reads the file and adds the included formats to the list.
<<lessInstalled version of ffmpeg should support the input files format and these output formats:
Format Audio Codec Video Codec
------------------------------------------------------
MPEG-4 xvid(mpeg-4) aac
3GPP h263 amr_nb
movic reads the formats from XML files( $(datadir)/mobile-video-converter/formats.xml
and $HOME/.movic.xml ). Currently only few formats are available so if the formats you want is not included, create a file named .movic.xml, add the formats to it(see formats.xml and follow its syntax) and put it in your home directory. movic will automaticaly reads the file and adds the included formats to the list.
Download (0.10MB)
Added: 2007-08-06 License: GPL (GNU General Public License) Price:
816 downloads
rem2ics 0.91
rem2ics project will convert the output of remind -s into correct RFC2445 iCalendar format. more>>
rem2ics project will convert the output of "remind -s" into correct RFC2445 iCalendar format.
Usage:
TZ=timezone rem2ics [-man] [-do] [-norecur] < input >output
<<lessUsage:
TZ=timezone rem2ics [-man] [-do] [-norecur] < input >output
Download (0.012MB)
Added: 2007-02-19 License: GPL (GNU General Public License) Price:
978 downloads
xPodClone 1.0
xPodClone is the ultimate backup tool for all your devices, it copies easily cds, dvds, folders, directories. more>>
xPodClone is the ultimate backup tool for all your devices, it copies easily cds, dvds, folders, directories.
xPodClone is an application for copy, save your hard disks or iPod.
You can drag and drop files into the window. The software will find all protected files or hidden files of an iPod, hard disk and what you want.
If you need for example to backup an iPod, you click on your iPod which is on your desktop (for Mac users) or in my Computer (for windows users) and drag it into xPodClone, the you choose where you want to copy it and click on "Clone".
Main features:
- Clone you iPod,
- Drop the input and output folder in the panel,
- Easy to use,
- User friendly,
- Completly free.
<<lessxPodClone is an application for copy, save your hard disks or iPod.
You can drag and drop files into the window. The software will find all protected files or hidden files of an iPod, hard disk and what you want.
If you need for example to backup an iPod, you click on your iPod which is on your desktop (for Mac users) or in my Computer (for windows users) and drag it into xPodClone, the you choose where you want to copy it and click on "Clone".
Main features:
- Clone you iPod,
- Drop the input and output folder in the panel,
- Easy to use,
- User friendly,
- Completly free.
Download (0.046MB)
Added: 2006-01-12 License: Freeware Price:
1383 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 output devices 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