tabular
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 34
File::Tabular 0.70
File::Tabular can search and edit flat tabular files. more>>
File::Tabular can search and edit flat tabular files.
SYNOPSIS
use File::Tabular;
my $f = new File::Tabular($filename);
my $row = $f->fetchrow;
print $row->{field1}, $row->{field2};
$row = $f->fetchrow(where => someWord);
$row = $f->fetchrow(where => field1 > 4 AND field2 >= "01.01.2001");
$row = $f->fetchrow(where => qr/somes+(complexs*)?(regex|regular expression)/i);
$f->rewind;
my $rows = $f->fetchall(where => someField =~ ^[abc]+);
print $_->{someField} foreach @$rows;
$f->rewind;
$rows = $f->fetchall(where => +field1:someWord -field2:otherWord,
orderBy => field3, field6:num, field5:-alpha);
$f->rewind;
my $hashRows = $f->fetchall(where => foo AND NOT bar,
key => someField);
print $hashRows->{someKey}{someOtherField};
# open for updates, and remember the updates in a journal file
$f = new File::Tabular("+>$journalFile"});
# updates at specific positions (line numbers)
$f->splices(4 => 2, undef, # delete 2 lines from position 4
7 => 1, {f1 => $v1, f2 => $v2, ...}, # replace line 7
9 => 0, { ...}, # insert 1 new line at position 9
22 => 0, [{...}, {...}, ...] # insert several lines at pos. 22
...
-1 => 0, [{...}, {...}, ...] # append at the end
);
# shorthand to add new data at the end
$f->append({f1 => $v1, f2 => $v2, ...});
# same thing, but use the "Hash::Type" associated to the file
$f->append($f->ht->new($v1, $v2, ...));
$f->clear; # removes all data (but keeps the header line)
# updates at specific keys, corresponding to @keyFields
$f->writeKeys({key1 => {f1 => $v1, f2 => $v2, ...}, # add or update
key2 => undef, # remove
...
}, @keyFields);
# replay the updates on a backup file
my $bck = new File::Tabular("+<<less
SYNOPSIS
use File::Tabular;
my $f = new File::Tabular($filename);
my $row = $f->fetchrow;
print $row->{field1}, $row->{field2};
$row = $f->fetchrow(where => someWord);
$row = $f->fetchrow(where => field1 > 4 AND field2 >= "01.01.2001");
$row = $f->fetchrow(where => qr/somes+(complexs*)?(regex|regular expression)/i);
$f->rewind;
my $rows = $f->fetchall(where => someField =~ ^[abc]+);
print $_->{someField} foreach @$rows;
$f->rewind;
$rows = $f->fetchall(where => +field1:someWord -field2:otherWord,
orderBy => field3, field6:num, field5:-alpha);
$f->rewind;
my $hashRows = $f->fetchall(where => foo AND NOT bar,
key => someField);
print $hashRows->{someKey}{someOtherField};
# open for updates, and remember the updates in a journal file
$f = new File::Tabular("+>$journalFile"});
# updates at specific positions (line numbers)
$f->splices(4 => 2, undef, # delete 2 lines from position 4
7 => 1, {f1 => $v1, f2 => $v2, ...}, # replace line 7
9 => 0, { ...}, # insert 1 new line at position 9
22 => 0, [{...}, {...}, ...] # insert several lines at pos. 22
...
-1 => 0, [{...}, {...}, ...] # append at the end
);
# shorthand to add new data at the end
$f->append({f1 => $v1, f2 => $v2, ...});
# same thing, but use the "Hash::Type" associated to the file
$f->append($f->ht->new($v1, $v2, ...));
$f->clear; # removes all data (but keeps the header line)
# updates at specific keys, corresponding to @keyFields
$f->writeKeys({key1 => {f1 => $v1, f2 => $v2, ...}, # add or update
key2 => undef, # remove
...
}, @keyFields);
# replay the updates on a backup file
my $bck = new File::Tabular("+<<less
Download (0.016MB)
Added: 2007-08-02 License: Perl Artistic License Price:
813 downloads
Getopt::Tabular 0.3
Getopt::Tabular is a Perl module for table-driven argument parsing for Perl 5. more>>
Getopt::Tabular is a Perl module for table-driven argument parsing for Perl 5.
SYNOPSIS
use Getopt::Tabular;
(or)
use Getopt::Tabular qw/GetOptions
SetHelp SetHelpOption
SetError GetError/;
...
≥topt::Tabular::SetHelp (long_help, usage_string);
@opt_table = (
[section_description, "section"],
[option, type, num_values, option_data, help_string],
...
);
≥tOptions (@opt_table, @ARGV [, @newARGV]) || exit 1;
Getopt::Tabular is a Perl 5 module for table-driven argument parsing, vaguely inspired by John Ousterhouts Tk_ParseArgv. All you really need to do to use the package is set up a table describing all your command-line options, and call ≥tOptions with three arguments: a reference to your option table, a reference to @ARGV (or something like it), and an optional third array reference (say, to @newARGV). ≥tOptions will process all arguments in @ARGV, and copy any leftover arguments (i.e. those that are not options or arguments to some option) to the @newARGV array. (If the @newARGV argument is not supplied, GetOptions will replace @ARGV with the stripped-down argument list.) If there are any invalid options, GetOptions will print an error message and return 0.
<<lessSYNOPSIS
use Getopt::Tabular;
(or)
use Getopt::Tabular qw/GetOptions
SetHelp SetHelpOption
SetError GetError/;
...
≥topt::Tabular::SetHelp (long_help, usage_string);
@opt_table = (
[section_description, "section"],
[option, type, num_values, option_data, help_string],
...
);
≥tOptions (@opt_table, @ARGV [, @newARGV]) || exit 1;
Getopt::Tabular is a Perl 5 module for table-driven argument parsing, vaguely inspired by John Ousterhouts Tk_ParseArgv. All you really need to do to use the package is set up a table describing all your command-line options, and call ≥tOptions with three arguments: a reference to your option table, a reference to @ARGV (or something like it), and an optional third array reference (say, to @newARGV). ≥tOptions will process all arguments in @ARGV, and copy any leftover arguments (i.e. those that are not options or arguments to some option) to the @newARGV array. (If the @newARGV argument is not supplied, GetOptions will replace @ARGV with the stripped-down argument list.) If there are any invalid options, GetOptions will print an error message and return 0.
Download (0.025MB)
Added: 2006-09-29 License: Perl Artistic License Price:
1120 downloads
Data::CTable 1.03
Data::CTable is a Perl module that helps you read, write, manipulate tabular data. more>>
Data::CTable is a Perl module that helps you read, write, manipulate tabular data.
SYNOPSIS
## Read some data files in various tabular formats
use Data::CTable;
my $People = Data::CTable->new("people.merge.mac.txt");
my $Stats = Data::CTable->new("stats.tabs.unix.txt");
## Clean stray whitespace in fields
$People->clean_ws();
$Stats ->clean_ws();
## Retrieve columns
my $First = $People->col(FirstName);
my $Last = $People->col(LastName );
## Calculate a new column based on two others
my $Full = [map {"$First->[$_] $Last->[$_]"} @{$People->all()}];
## Add new column to the table
$People->col(FullName => $Full);
## Another way to calculate a new column
$People->col(Key);
$People->calc(sub {no strict vars; $Key = "$Last,$First";});
## "Left join" records matching Stats:PersonID to People:Key
$Stats->join($People, PersonID => Key);
## Find certain records
$Stats->select_all();
$Stats->select(Department => sub {/Sale/i }); ## Sales depts
$Stats->omit (Department => sub {/Resale/i}); ## not Resales
$Stats->select(UsageIndex => sub {$_ > 20.0}); ## high usage
## Sort the found records
$Stats->sortspec(DeptNum , {SortType => Integer});
$Stats->sortspec(UsageIndex, {SortType => Number });
$Stats->sort([qw(DeptNum UsageIndex Last First)]);
## Make copy of table with only found/sorted data, in order
my $Report = $Stats->snapshot();
## Write an output file
$Report->write(_FileName => "Rept.txt", _LineEnding => "mac");
## Print a final progress message.
$Stats->progress("Done!");
## Dozens more methods and parameters available...
OVERVIEW
Data::CTable is a comprehensive utility for reading, writing, manipulating, cleaning and otherwise transforming tabular data. The distribution includes several illustrative subclasses and utility scripts.
A Columnar Table represents a table as a hash of data columns, making it easy to do data cleanup, formatting, searching, calculations, joins, or other complex operations.
The objects hash keys are the field names and the hash values hold the data columns (as array references).
Tables also store a "selection" -- a list of selected / sorted record numbers, and a "field list" -- an ordered list of all or some fields to be operated on. Select() and sort() methods manipulate the selection list. Later, you can optionally rewrite the table in memory or on disk to reflect changes in the selection list or field list.
Data::CTable reads and writes any tabular text file format including Merge, CSV, Tab-delimited, and variants. It transparently detects, reads, and preserves Unix, Mac, and/or DOS line endings and tab or comma field delimiters -- regardless of the runtime platform.
In addition to reading data files, CTable is a good way to gather, store, and operate on tabular data in memory, and to export data to delimited text files to be read by other programs or interactive productivity applications.
To achieve extremely fast data loading, CTable caches data file contents using the Storable module. This can be helpful in CGI environments or when operating on very large data files. CTable can read an entire cached table of about 120 megabytes into memory in about 10 seconds on an average mid-range computer.
For simple data-driven applications needing to store and quickly retrieve simple tabular data sets, CTable provides a credible alternative to DBM files or SQL.
For data hygiene applications, CTable forms the foundation for writing utility scripts or compilers to transfer data from external sources, such as FileMaker, Excel, Access, personal organizers, etc. into compiled or validated formats -- or even as a gateway to loading data into SQL databases or other destinations. You can easily write short, repeatable scripts in Perl to do reporting, error checking, analysis, or validation that would be hard to duplicate in less-flexible application environments.
The data representation is simple and open so you can directly access the data in the object if you feel like it -- or you can use accessors to request "clean" structures containing only the data or copies of it. Or you can build your own columns in memory and then when youre ready, turn them into a table object using the very flexible new() method.
The highly factored interface and implementation allow fine-grained subclassing so you can easily create useful lightweight subclasses. Several subclasses are included with the distribution.
Most defaults and parameters can be customized by subclassing, overridden at the instance level (avoiding the need to subclass too often), and further overridden via optional named-parameter arguments to most major method calls.
<<lessSYNOPSIS
## Read some data files in various tabular formats
use Data::CTable;
my $People = Data::CTable->new("people.merge.mac.txt");
my $Stats = Data::CTable->new("stats.tabs.unix.txt");
## Clean stray whitespace in fields
$People->clean_ws();
$Stats ->clean_ws();
## Retrieve columns
my $First = $People->col(FirstName);
my $Last = $People->col(LastName );
## Calculate a new column based on two others
my $Full = [map {"$First->[$_] $Last->[$_]"} @{$People->all()}];
## Add new column to the table
$People->col(FullName => $Full);
## Another way to calculate a new column
$People->col(Key);
$People->calc(sub {no strict vars; $Key = "$Last,$First";});
## "Left join" records matching Stats:PersonID to People:Key
$Stats->join($People, PersonID => Key);
## Find certain records
$Stats->select_all();
$Stats->select(Department => sub {/Sale/i }); ## Sales depts
$Stats->omit (Department => sub {/Resale/i}); ## not Resales
$Stats->select(UsageIndex => sub {$_ > 20.0}); ## high usage
## Sort the found records
$Stats->sortspec(DeptNum , {SortType => Integer});
$Stats->sortspec(UsageIndex, {SortType => Number });
$Stats->sort([qw(DeptNum UsageIndex Last First)]);
## Make copy of table with only found/sorted data, in order
my $Report = $Stats->snapshot();
## Write an output file
$Report->write(_FileName => "Rept.txt", _LineEnding => "mac");
## Print a final progress message.
$Stats->progress("Done!");
## Dozens more methods and parameters available...
OVERVIEW
Data::CTable is a comprehensive utility for reading, writing, manipulating, cleaning and otherwise transforming tabular data. The distribution includes several illustrative subclasses and utility scripts.
A Columnar Table represents a table as a hash of data columns, making it easy to do data cleanup, formatting, searching, calculations, joins, or other complex operations.
The objects hash keys are the field names and the hash values hold the data columns (as array references).
Tables also store a "selection" -- a list of selected / sorted record numbers, and a "field list" -- an ordered list of all or some fields to be operated on. Select() and sort() methods manipulate the selection list. Later, you can optionally rewrite the table in memory or on disk to reflect changes in the selection list or field list.
Data::CTable reads and writes any tabular text file format including Merge, CSV, Tab-delimited, and variants. It transparently detects, reads, and preserves Unix, Mac, and/or DOS line endings and tab or comma field delimiters -- regardless of the runtime platform.
In addition to reading data files, CTable is a good way to gather, store, and operate on tabular data in memory, and to export data to delimited text files to be read by other programs or interactive productivity applications.
To achieve extremely fast data loading, CTable caches data file contents using the Storable module. This can be helpful in CGI environments or when operating on very large data files. CTable can read an entire cached table of about 120 megabytes into memory in about 10 seconds on an average mid-range computer.
For simple data-driven applications needing to store and quickly retrieve simple tabular data sets, CTable provides a credible alternative to DBM files or SQL.
For data hygiene applications, CTable forms the foundation for writing utility scripts or compilers to transfer data from external sources, such as FileMaker, Excel, Access, personal organizers, etc. into compiled or validated formats -- or even as a gateway to loading data into SQL databases or other destinations. You can easily write short, repeatable scripts in Perl to do reporting, error checking, analysis, or validation that would be hard to duplicate in less-flexible application environments.
The data representation is simple and open so you can directly access the data in the object if you feel like it -- or you can use accessors to request "clean" structures containing only the data or copies of it. Or you can build your own columns in memory and then when youre ready, turn them into a table object using the very flexible new() method.
The highly factored interface and implementation allow fine-grained subclassing so you can easily create useful lightweight subclasses. Several subclasses are included with the distribution.
Most defaults and parameters can be customized by subclassing, overridden at the instance level (avoiding the need to subclass too often), and further overridden via optional named-parameter arguments to most major method calls.
Download (0.15MB)
Added: 2007-07-13 License: Perl Artistic License Price:
833 downloads
XML::Table2XML 1.0
XML::Table2XML is a Perl module for generic conversion of tabular data to XML by reverting Excels flattener methodology. more>>
XML::Table2XML is a Perl module for generic conversion of tabular data to XML by reverting Excels flattener methodology.
SYNOPSIS
use XML::Table2XML;
my $outXML = "";
# first parse column path headers for attribute names, id columns and special common sibling mark ("//")
parseHeaderForXML("rootNodeName", [/@id,/@name2,/a]);
# then walk through the whole data to build the actual XML string into $outXML
my @datarows = ([1,"testName","testA"],
[1,"testName","testB"],
[1,"testName","testC"]);
for my $lineData (@datarows) {
$outXML.=addXMLLine($lineData);
}
#finally finish the XML and reset the static vars
$outXML.=addXMLLine(undef);
print $outXML;
# yields:
# < ?xml version="1.0"? >
# < rootNodeName id="1" name2="testName" >< a >testA< /a >testB< /a >< a >testC< /a >< /rootNodeName >
table2xml is an algorithm having two functions that allow the conversion of tabular data to XML without using XSLT. This is achieved by reverting the "Flattener" methodology used by Microsoft Excel to convert the XML tree format to a two-dimensional table (see Opening XML Files in Excel and INFO: Microsoft Excel 2002 and XML).
This reversion is achieved by:
1. (possibly) modifying the flattened table a bit to enable a simpler processing of the data,
2. sequentially processing the data column- and row wise.
The whole algorithm is done without the aid of any XML library, so it lends itself to easy translation into other environments and languages.
Producing the XML:
1. invoke parseHeaderForXML, using a line with the rootnode and path information.
2. After parsing the header info, the table data can be processed row by row by calling addXMLLine. The current data row is provided in the single argument lineData, the built XML is string returned and can be collected/written.
3. A final call to addXMLLine with lineData == undef restores the static variables and finalizes the XML string (closes any still open tags).
<<lessSYNOPSIS
use XML::Table2XML;
my $outXML = "";
# first parse column path headers for attribute names, id columns and special common sibling mark ("//")
parseHeaderForXML("rootNodeName", [/@id,/@name2,/a]);
# then walk through the whole data to build the actual XML string into $outXML
my @datarows = ([1,"testName","testA"],
[1,"testName","testB"],
[1,"testName","testC"]);
for my $lineData (@datarows) {
$outXML.=addXMLLine($lineData);
}
#finally finish the XML and reset the static vars
$outXML.=addXMLLine(undef);
print $outXML;
# yields:
# < ?xml version="1.0"? >
# < rootNodeName id="1" name2="testName" >< a >testA< /a >testB< /a >< a >testC< /a >< /rootNodeName >
table2xml is an algorithm having two functions that allow the conversion of tabular data to XML without using XSLT. This is achieved by reverting the "Flattener" methodology used by Microsoft Excel to convert the XML tree format to a two-dimensional table (see Opening XML Files in Excel and INFO: Microsoft Excel 2002 and XML).
This reversion is achieved by:
1. (possibly) modifying the flattened table a bit to enable a simpler processing of the data,
2. sequentially processing the data column- and row wise.
The whole algorithm is done without the aid of any XML library, so it lends itself to easy translation into other environments and languages.
Producing the XML:
1. invoke parseHeaderForXML, using a line with the rootnode and path information.
2. After parsing the header info, the table data can be processed row by row by calling addXMLLine. The current data row is provided in the single argument lineData, the built XML is string returned and can be collected/written.
3. A final call to addXMLLine with lineData == undef restores the static variables and finalizes the XML string (closes any still open tags).
Download (0.010MB)
Added: 2007-06-29 License: Perl Artistic License Price:
847 downloads
Texmaker 1.6
Texmaker is a free LaTeX editor. more>>
Texmaker is a free LaTeX editor, that integrates many tools needed to develop documents with LaTeX, in just one application.
Texmaker is a free and cross-platform program which runs on unix, macosx and windows systems.
Texmaker is a Qt program, that integrates many tools needed to develop documents with LaTeX, in just one application.
Texmaker runs natively on Unix, win32 and macosx systems (KDE libraries are not required).
Main features:
- an editor to write your LaTeX source files (syntax highlighting, undo-redo, search-replace, ...)
- the principal LaTex tags can be inserted directly with the "LaTeX" and "Math" menus
- 370 mathematical symbols can be inserted in just one click
- wizards to generate code (Quick document, Quick letter, tabular, tabbing and array environments)
- LaTeX-related programs can be launched via the "Tools" menu
- the standard Bibtex entry types can be inserted in the ".bib" file with the "Bibliography" menu
- a "structure view" of the document for easier navigation of a document (by clicking on an item in the "Structure" frame, you can jump directly to the corresponding part of your document
- extensive LaTeX documentation
- in the "Messages / Log File" frame, you can see information about processes and the logfile after a LaTeX compilation
- the "Next Latex Error" and "Previous Latex Error" commands let you reach the LaTeX errors detected in the log file
- by clicking on the number of a line in the log file, the cursor jumps to the corresponding line in the editor
- an integrated LaTeX to html conversion tool (for unix and macosx systems)
<<lessTexmaker is a free and cross-platform program which runs on unix, macosx and windows systems.
Texmaker is a Qt program, that integrates many tools needed to develop documents with LaTeX, in just one application.
Texmaker runs natively on Unix, win32 and macosx systems (KDE libraries are not required).
Main features:
- an editor to write your LaTeX source files (syntax highlighting, undo-redo, search-replace, ...)
- the principal LaTex tags can be inserted directly with the "LaTeX" and "Math" menus
- 370 mathematical symbols can be inserted in just one click
- wizards to generate code (Quick document, Quick letter, tabular, tabbing and array environments)
- LaTeX-related programs can be launched via the "Tools" menu
- the standard Bibtex entry types can be inserted in the ".bib" file with the "Bibliography" menu
- a "structure view" of the document for easier navigation of a document (by clicking on an item in the "Structure" frame, you can jump directly to the corresponding part of your document
- extensive LaTeX documentation
- in the "Messages / Log File" frame, you can see information about processes and the logfile after a LaTeX compilation
- the "Next Latex Error" and "Previous Latex Error" commands let you reach the LaTeX errors detected in the log file
- by clicking on the number of a line in the log file, the cursor jumps to the corresponding line in the editor
- an integrated LaTeX to html conversion tool (for unix and macosx systems)
Download (0.72MB)
Added: 2007-06-21 License: GPL (GNU General Public License) Price:
871 downloads
playtab 0.05
playtab can print chords of songs in a tabular fashion. more>>
playtab can print chords of songs in a tabular fashion.
SYNOPSIS
playtab [options] [file ...]
Options:
-transpose +/-N transpose all songs
-output XXX set outout file
-ident show identification
-help brief help message
-verbose verbose information
OPTIONS
-transpose amount
Transposes all songs by amount. This can be + or - 11 semitones.
When transposing up, chords will de represented sharp if necessary; when transposing down, chords will de represented flat if necessary. For example, chord A transposed +1 will become A-sharp, but when transposed -11 it will become B-flat.
-output file
Designates file as the output file for the program.
-help
Print a brief help message and exits.
-ident
Prints program identification.
-verbose
More verbose information.
file
Input file(s).
The input for playtab is plain ASCII. It contains the chords, the division in bars, with optional annotations.
An example:
!t Blue Bossa
Bossanova
=
| c-9 ... | f-9 ... | d% . g7 . | c-9 ... |
| es-9 . as6 . | desmaj7 ... | d% . g7 . | c-9 . d% g7 |
The first line, !t denotes the title of the song. Each song must start with a title line.
The title line may be followed by one or more !s, subtitles, for example to indicate the composer.
The text "Bossanova" is printed below the title and subtitle.
The "=" indicates some vertical space.
The next lines show the bars of the song. In the first bar is the c-9 chord (Cminor9), followed by three dots. The dots indicate that this chord is repeated for all 4 beats of this bar. In the 3rd bar each chord take two beats: d5% (d half dim), a dot, g7 and another dot.
Run playtab with -h or --help for the syntax of chords.
If you use "=" followed by some text, the printout is indented and the text sticks out to the left. With this you can tag groups of bars, for example the parts of a song that must be played in a certain order. For example:
!t Donna Lee
!s Charlie Parker
Order: A B A B
= A
| as . | f7 . | bes7 . | bes7 . |
| bes-7 . | es7 . | as . | es-7 D7 |
| des . | des-7 . | as . | f7 . |
| bes7 . | bes7 . | bes-7 . | es7 . |
= B
| as . | f7 . | bes7 . | bes7 . |
| c7 . | c7 . | f- . | c7#9 . |
| f- . | c7 . | f- . | aso . |
| as f7 | bes-7 es7 | as - | bes-7 es7 |
You can modify the width of the bars with a !w control. Standard width of a beat is 30. !w +5 increases the width to 35. !w 25 sets it to 25. You get the idea. You can also change the height with !h (default is 15) and margin with !m (default width is 40).
You can transpose an individual song with !x amount, where amount can range from -11 to +11, inclusive.
Look at the examples, that is (currently) the best way to get grip on what the program does.
Oh, I almost forgot: it can print guitar chord diagrams as well. See "bluebossa", "sophisticatedlady" and some others.
Have fun, and let me know your ideas!
INPUT SYNTAX
Notes: C, D, E, F, G, A, B.
Raised with # or suffix is, e.g. A#, Ais.
Lowered with b or suffix s or es, e.g. Bes, As, Eb.
Chords: note + optional modifiers.
Chord modifiers Meaning [examples]
--------------------------------------------------------------
nothing major triad [C]
- or min or m minor triad [Cm Fmin Gb-]
+ or aug augmented triad [Caug B+]
o or 0 or dim diminished triad [Co D0 Fdim]
--------------------------------------------------------------
maj7 major 7th chord [Cmaj7]
% half-diminished 7 chord [C%]
6,7,9,11,13 chord additions [C69]
--------------------------------------------------------------
# raise the pitch of the note to a sharp [C11#9]
b lower the pitch of the note to a flat [C11b9]
--------------------------------------------------------------
no substract a note from a chord [C9no11]
--------------------------------------------------------------
Whitespace and () may be used to avoid ambiguity, e.g. C(#9) C#9 C#(9)
Other: Meaning
--------------------------------------------------------------
. Chord space
- Rest
% Repeat
/ Powerchord constructor [D/G D/E-]
--------------------------------------------------------------
<<lessSYNOPSIS
playtab [options] [file ...]
Options:
-transpose +/-N transpose all songs
-output XXX set outout file
-ident show identification
-help brief help message
-verbose verbose information
OPTIONS
-transpose amount
Transposes all songs by amount. This can be + or - 11 semitones.
When transposing up, chords will de represented sharp if necessary; when transposing down, chords will de represented flat if necessary. For example, chord A transposed +1 will become A-sharp, but when transposed -11 it will become B-flat.
-output file
Designates file as the output file for the program.
-help
Print a brief help message and exits.
-ident
Prints program identification.
-verbose
More verbose information.
file
Input file(s).
The input for playtab is plain ASCII. It contains the chords, the division in bars, with optional annotations.
An example:
!t Blue Bossa
Bossanova
=
| c-9 ... | f-9 ... | d% . g7 . | c-9 ... |
| es-9 . as6 . | desmaj7 ... | d% . g7 . | c-9 . d% g7 |
The first line, !t denotes the title of the song. Each song must start with a title line.
The title line may be followed by one or more !s, subtitles, for example to indicate the composer.
The text "Bossanova" is printed below the title and subtitle.
The "=" indicates some vertical space.
The next lines show the bars of the song. In the first bar is the c-9 chord (Cminor9), followed by three dots. The dots indicate that this chord is repeated for all 4 beats of this bar. In the 3rd bar each chord take two beats: d5% (d half dim), a dot, g7 and another dot.
Run playtab with -h or --help for the syntax of chords.
If you use "=" followed by some text, the printout is indented and the text sticks out to the left. With this you can tag groups of bars, for example the parts of a song that must be played in a certain order. For example:
!t Donna Lee
!s Charlie Parker
Order: A B A B
= A
| as . | f7 . | bes7 . | bes7 . |
| bes-7 . | es7 . | as . | es-7 D7 |
| des . | des-7 . | as . | f7 . |
| bes7 . | bes7 . | bes-7 . | es7 . |
= B
| as . | f7 . | bes7 . | bes7 . |
| c7 . | c7 . | f- . | c7#9 . |
| f- . | c7 . | f- . | aso . |
| as f7 | bes-7 es7 | as - | bes-7 es7 |
You can modify the width of the bars with a !w control. Standard width of a beat is 30. !w +5 increases the width to 35. !w 25 sets it to 25. You get the idea. You can also change the height with !h (default is 15) and margin with !m (default width is 40).
You can transpose an individual song with !x amount, where amount can range from -11 to +11, inclusive.
Look at the examples, that is (currently) the best way to get grip on what the program does.
Oh, I almost forgot: it can print guitar chord diagrams as well. See "bluebossa", "sophisticatedlady" and some others.
Have fun, and let me know your ideas!
INPUT SYNTAX
Notes: C, D, E, F, G, A, B.
Raised with # or suffix is, e.g. A#, Ais.
Lowered with b or suffix s or es, e.g. Bes, As, Eb.
Chords: note + optional modifiers.
Chord modifiers Meaning [examples]
--------------------------------------------------------------
nothing major triad [C]
- or min or m minor triad [Cm Fmin Gb-]
+ or aug augmented triad [Caug B+]
o or 0 or dim diminished triad [Co D0 Fdim]
--------------------------------------------------------------
maj7 major 7th chord [Cmaj7]
% half-diminished 7 chord [C%]
6,7,9,11,13 chord additions [C69]
--------------------------------------------------------------
# raise the pitch of the note to a sharp [C11#9]
b lower the pitch of the note to a flat [C11b9]
--------------------------------------------------------------
no substract a note from a chord [C9no11]
--------------------------------------------------------------
Whitespace and () may be used to avoid ambiguity, e.g. C(#9) C#9 C#(9)
Other: Meaning
--------------------------------------------------------------
. Chord space
- Rest
% Repeat
/ Powerchord constructor [D/G D/E-]
--------------------------------------------------------------
Download (0.024MB)
Added: 2007-07-21 License: Perl Artistic License Price:
501 downloads
App::ErrorCalculator 1.01
App::ErrorCalculator is a Perl module that contains calculations with Gaussian Error Propagation. more>>
App::ErrorCalculator is a Perl module that contains calculations with Gaussian Error Propagation.
SYNOPSIS
# You can use the errorcalculator script instead.
require App::ErrorCalculator;
App::ErrorCalculator->run();
# Using the script:
# errorcalculator
errorcalculator and its implementing Perl module App::ErrorCalculator is a Gtk2 tool that lets you do calculations with automatic error propagation.
Start the script, enter a function into the function entry field, select an input file, select an output file and hit the Run Calculation button to have all data in the input field processed according to the function and written to the output file.
Functions should consist of a function name followed by an equals sign and a function body. All identifiers (both the function name and all variables in the function body) should start with a letter. They may contain letters, numbers and underscores.
The function body may contain any number of constants, variables, operators, functions and parenthesis. The exact syntax can be obtained by reading the manual page for Math::Symbolic::Parser. Arithmetic operators (+ - * / ^) are supported. The caret indicates exponentiation. Trigonometric, inverse trigonometric and hyperbolic functions are implemented (sin cos tan cot asin acos atan acot sinh cosh asinh acoth). log indicates a natural logarithm.
Additionally, you may include derivatives in the formula which will be evaluated (analytically) for you. The syntax for this is: partial_derivative(a * x + b, x). (Would evaluate to a.)
In order to allow for errors in constants, the program uses the Math::SymbolicX::Error parser extension: use the error(1 +/- 0.2) function to include constants with associated uncertainties in your formulas.
The input files may be of any format recognized by the Spreadsheet::Read module. That means: Excel sheets, OpenOffice (1.0) spreadsheets, CSV (comma separated values) text files, etc.
The program reads tabular data from the spreadsheet file. It expects each column to contain the data for one variable in the formula.
a, b, c
1, 2, 3
4, 5, 6
7, 8, 9
This would assign 1 to the variable a, 2 to b and 3 to c and then evaluate the formula with those values. The result would be written to the first data line of the output file. Then, the data in the next row will be used and so on. If a column is missing data, it is assumed to be zero.
Since this is about errors, you can declare any number of errors to the numbers as demonstrated below:
a, a_1, a_2, b, b_1
1, 0.2, 0.1, 2, 0.3
4, 0.3, 0.3, 5, 0.6
7, 0.4, 0,1, 8, 0.9
Apart from dropping c for brevity, this example input adds columns for the errors of a and b. a has two errors: a_1 and a_2. b only has one error b_1 which corresponds to the error a_1. When calculating, a will be used as 1 +/- 0.2 +/- 0.1 in the first calculation and b as 2 +/- 0.3 +/- 0. The error propagation is implemented using Number::WithError so thats where you go for details.
The output file will be a CSV file similar to the input examples above.
<<lessSYNOPSIS
# You can use the errorcalculator script instead.
require App::ErrorCalculator;
App::ErrorCalculator->run();
# Using the script:
# errorcalculator
errorcalculator and its implementing Perl module App::ErrorCalculator is a Gtk2 tool that lets you do calculations with automatic error propagation.
Start the script, enter a function into the function entry field, select an input file, select an output file and hit the Run Calculation button to have all data in the input field processed according to the function and written to the output file.
Functions should consist of a function name followed by an equals sign and a function body. All identifiers (both the function name and all variables in the function body) should start with a letter. They may contain letters, numbers and underscores.
The function body may contain any number of constants, variables, operators, functions and parenthesis. The exact syntax can be obtained by reading the manual page for Math::Symbolic::Parser. Arithmetic operators (+ - * / ^) are supported. The caret indicates exponentiation. Trigonometric, inverse trigonometric and hyperbolic functions are implemented (sin cos tan cot asin acos atan acot sinh cosh asinh acoth). log indicates a natural logarithm.
Additionally, you may include derivatives in the formula which will be evaluated (analytically) for you. The syntax for this is: partial_derivative(a * x + b, x). (Would evaluate to a.)
In order to allow for errors in constants, the program uses the Math::SymbolicX::Error parser extension: use the error(1 +/- 0.2) function to include constants with associated uncertainties in your formulas.
The input files may be of any format recognized by the Spreadsheet::Read module. That means: Excel sheets, OpenOffice (1.0) spreadsheets, CSV (comma separated values) text files, etc.
The program reads tabular data from the spreadsheet file. It expects each column to contain the data for one variable in the formula.
a, b, c
1, 2, 3
4, 5, 6
7, 8, 9
This would assign 1 to the variable a, 2 to b and 3 to c and then evaluate the formula with those values. The result would be written to the first data line of the output file. Then, the data in the next row will be used and so on. If a column is missing data, it is assumed to be zero.
Since this is about errors, you can declare any number of errors to the numbers as demonstrated below:
a, a_1, a_2, b, b_1
1, 0.2, 0.1, 2, 0.3
4, 0.3, 0.3, 5, 0.6
7, 0.4, 0,1, 8, 0.9
Apart from dropping c for brevity, this example input adds columns for the errors of a and b. a has two errors: a_1 and a_2. b only has one error b_1 which corresponds to the error a_1. When calculating, a will be used as 1 +/- 0.2 +/- 0.1 in the first calculation and b as 2 +/- 0.3 +/- 0. The error propagation is implemented using Number::WithError so thats where you go for details.
The output file will be a CSV file similar to the input examples above.
Download (0.008MB)
Added: 2007-07-17 License: Perl Artistic License Price:
829 downloads
Clichart 0.5.3
Clichart is an application intended for quick summarization and visualization of data, especially from system logs. more>>
Clichart is an application intended for quick summarization and visualization of data, especially from system logs. It provides tools to extract and manipulate tabular summary data from text files, and to generate and view simple charts from tabular data on the command line
Main features:
- Display charts in a window, save them to disk (JPEG or PNG), or both
- Accept data in comma- or whitespace-separated formats
- Read data from a file, or have it piped into its standard input
- Display XY line charts, with the X axis based on dates, times or values. The Y axis must be simple values (integer or decimal)
- Be used interactively, or driven via scripts
- Generate summary data based on counts, averages, minimum, maximum of input fields
- Generate summary data based on discrete values
- Generate aggregates from tabular data
- Operate in CLI server mode, generating 1 or more charts based on commands passed via standard in (either from another script, or from a command file).
Enhancements:
- This release is mostly a tidy-up, with small bugfixes and improvements in handling errors.
- However, it also allows output from "aggregate" to include simple expressions, adds the ability for "cliserverlib" to locate "clichart" via the PATH (useful for Windows users), and uses the Psyco JIT compiler to speed operation if its installed.
<<lessMain features:
- Display charts in a window, save them to disk (JPEG or PNG), or both
- Accept data in comma- or whitespace-separated formats
- Read data from a file, or have it piped into its standard input
- Display XY line charts, with the X axis based on dates, times or values. The Y axis must be simple values (integer or decimal)
- Be used interactively, or driven via scripts
- Generate summary data based on counts, averages, minimum, maximum of input fields
- Generate summary data based on discrete values
- Generate aggregates from tabular data
- Operate in CLI server mode, generating 1 or more charts based on commands passed via standard in (either from another script, or from a command file).
Enhancements:
- This release is mostly a tidy-up, with small bugfixes and improvements in handling errors.
- However, it also allows output from "aggregate" to include simple expressions, adds the ability for "cliserverlib" to locate "clichart" via the PATH (useful for Windows users), and uses the Psyco JIT compiler to speed operation if its installed.
Download (2.7MB)
Added: 2007-06-11 License: LGPL (GNU Lesser General Public License) Price:
865 downloads
Cutplace 0.5.5
Cutplace is a tool to validate that tabular and flat data conform to an interface control document (ICD). more>> <<less
Added: 2009-07-27 License: GPL v3 Price: FREE
downloads
Other version of Cutplace
Price: FREE
License:GPL v3
License:GPL v3
Test::Parser 1.1
Test::Parser is a collection of parsers for different test output file formats. more>>
Test::Parser is a collection of parsers for different test output file formats.
These parse the data into a general purpose data structure that can then be used to create reports, do post-processing analysis, etc.
Test::Parser can also export tests in SpikeSources TRPI test description XML language.
Installation:
To install the script and man pages in the standard areas, give the sequence of commands
$ perl Makefile.PL
$ make
$ make test
$ make install # you probably need to do this step as superuser
If you want to install the script in your own private space, use
$ perl Makefile.PL PREFIX=/home/joeuser
INSTALLMAN1DIR=/home/joeuser/man/man1
INSTALLMAN3DIR=/home/joeuser/man/man3
$ make
$ make test
$ make install # can do this step as joeuser
Note that `make test` does nothing interesting.
Enhancements:
- This release improves the LTP parser and adds a parse_ltp script that prints a tabular summary of the PASS/FAILs of test cases.
<<lessThese parse the data into a general purpose data structure that can then be used to create reports, do post-processing analysis, etc.
Test::Parser can also export tests in SpikeSources TRPI test description XML language.
Installation:
To install the script and man pages in the standard areas, give the sequence of commands
$ perl Makefile.PL
$ make
$ make test
$ make install # you probably need to do this step as superuser
If you want to install the script in your own private space, use
$ perl Makefile.PL PREFIX=/home/joeuser
INSTALLMAN1DIR=/home/joeuser/man/man1
INSTALLMAN3DIR=/home/joeuser/man/man3
$ make
$ make test
$ make install # can do this step as joeuser
Note that `make test` does nothing interesting.
Enhancements:
- This release improves the LTP parser and adds a parse_ltp script that prints a tabular summary of the PASS/FAILs of test cases.
Download (0.044MB)
Added: 2006-04-07 License: GPL (GNU General Public License) Price:
1295 downloads
tX XML editor 1.2
tX, formerly known as Teddy, is a tabular XML editor. more>>
tX, formerly known as Teddy, is a tabular XML editor. tX XML editor presents the structure and content of XML files in a way that is both visually pleasing and easy to use.
Its features include the abiltiy to view XML in an hierarchical way without extraneous syntax or interface elements, edit data like a spreadsheet, enter data without having to worry about encoding rules, make major structural changes with minimal effort, cut and paste between most spreadsheet applications, and export to HTML.
Main features:
- Teddy is now rebranded as tX - Tabular XML editor.
- Compilation under Qt4.
- Elements without subelements have a closing "../>" instead of .
- Attribute-value quotes changed from to ".
- New menu icons - some original, some from art.gnome.org.
- German language translation.
- A new tab called "Help Text" provides a generic help-system for XML-Files. In this tab it is possible to display user documentation: If either the working-directory or the directory of the current xml file has a sub-directory with the name of the DTD, a right-click on an element ( ) will load and display a file called "element_name.html" in the QTextBrowser-Widget. A right-click on the attribute (attribute-name="...") will jump to the "element_name.html#attribute_name" section of the html help file.
<<lessIts features include the abiltiy to view XML in an hierarchical way without extraneous syntax or interface elements, edit data like a spreadsheet, enter data without having to worry about encoding rules, make major structural changes with minimal effort, cut and paste between most spreadsheet applications, and export to HTML.
Main features:
- Teddy is now rebranded as tX - Tabular XML editor.
- Compilation under Qt4.
- Elements without subelements have a closing "../>" instead of .
- Attribute-value quotes changed from to ".
- New menu icons - some original, some from art.gnome.org.
- German language translation.
- A new tab called "Help Text" provides a generic help-system for XML-Files. In this tab it is possible to display user documentation: If either the working-directory or the directory of the current xml file has a sub-directory with the name of the DTD, a right-click on an element ( ) will load and display a file called "element_name.html" in the QTextBrowser-Widget. A right-click on the attribute (attribute-name="...") will jump to the "element_name.html#attribute_name" section of the html help file.
Download (0.20MB)
Added: 2006-06-19 License: GPL (GNU General Public License) Price:
1224 downloads
bcnu 1.22
bcnu is a web based system management tool. more>>
bcnu is a web based system management tool which delivers information on the status of networked systems in a simple and easy to use manner. Have a look at the sample screens to see how easy it is. The project uses a web browser to display information about hosts in a tabular form. Colored icons show the status of monitored conditions and clicking on these will bring up detail about the state of the system. Historical information can be held indefinitely and there is a powerful query tool available to interrogate it.
bcnu can be managed from a central unix system, with all agents, scripts and config files distributed from one point using the supplied shell scripts. It will soon be possible to configure agents from a web browser.
bcnu has a very open architecture. The agents are currently bourne shell scripts, but can be any program. There are a set of standard shell functions available to make interfacing with bcnu very easy. It is a simple matter to modify existing scripts to talk to bcnu. These will have all the benefits of bcnu agents, e.g. logging, resending, proxy etc. I would be happy to receive your agents to include with the distribution.
bcnu has been designed to be very simple to implement. By default it is configured to make very little impact on the managed system. Logging levels can be set for each agent separately. It is possible to set an agent only to log in the event of an error.
Monitoring of network devices can be spread over multiple machines, all may have different checking and logging intervals. e.g. you may wish to check all web servers every 5 minutes, application servers every 10 minutes, but mail or print servers only every 30 minutes. This is easy with bcnu due to the flexible agent architecture.
Main features:
- easy to use
- simple agent based monitoring with flexible thresholds
- multiple views of the same information
- includes agent scheduler for total flexibility
- automatic logging and resend of messages
- discover agent to build a picture of your system automatically
- built in web server for static pages
- powerful cgi access to data including multiple views and historical queries
- free!! (Distributed under the terms of the Artistic licence)
Standard agents include:
- network monitor, ping, http, ftp , mail, lpd, oracle etc
- intelligent log file scanning for messages and warnings
- checking for required processes to be running
- filesystem mount status and space usage
- processor/memory usage and system up time
Special agents include:
- volume management checks for solaris,aix and hpux
- system availibility
Admin agents include:
- logging and resending of agent data
- agent proxy
- alerts sent by mail, pager, win32popup, web, Perl/TK window or custom program
- report of all errors and warnings
- self monitoring and alerting agent (runs on another system)
- discovery of systems to be managed
- optional static web page built to show status of all systems
Contributed agents include:
- Critical file checker - checks to see if important files have been changed
- oracle table space monitor
- check oracle backup log agent
Enhancements:
- The setup utility has been improved to make installation easier.
- The information display in the logs, vmgt, fs, and procs agents has been improved.
- Various new contributed agents and changes have been added.
- The C Sources have been tidied up with function prototypes, etc.
- Better customization options are now available.
- A daemon restart option has been added.
- Other minor bugfixes and cosmetic enhancements have been made.
<<lessbcnu can be managed from a central unix system, with all agents, scripts and config files distributed from one point using the supplied shell scripts. It will soon be possible to configure agents from a web browser.
bcnu has a very open architecture. The agents are currently bourne shell scripts, but can be any program. There are a set of standard shell functions available to make interfacing with bcnu very easy. It is a simple matter to modify existing scripts to talk to bcnu. These will have all the benefits of bcnu agents, e.g. logging, resending, proxy etc. I would be happy to receive your agents to include with the distribution.
bcnu has been designed to be very simple to implement. By default it is configured to make very little impact on the managed system. Logging levels can be set for each agent separately. It is possible to set an agent only to log in the event of an error.
Monitoring of network devices can be spread over multiple machines, all may have different checking and logging intervals. e.g. you may wish to check all web servers every 5 minutes, application servers every 10 minutes, but mail or print servers only every 30 minutes. This is easy with bcnu due to the flexible agent architecture.
Main features:
- easy to use
- simple agent based monitoring with flexible thresholds
- multiple views of the same information
- includes agent scheduler for total flexibility
- automatic logging and resend of messages
- discover agent to build a picture of your system automatically
- built in web server for static pages
- powerful cgi access to data including multiple views and historical queries
- free!! (Distributed under the terms of the Artistic licence)
Standard agents include:
- network monitor, ping, http, ftp , mail, lpd, oracle etc
- intelligent log file scanning for messages and warnings
- checking for required processes to be running
- filesystem mount status and space usage
- processor/memory usage and system up time
Special agents include:
- volume management checks for solaris,aix and hpux
- system availibility
Admin agents include:
- logging and resending of agent data
- agent proxy
- alerts sent by mail, pager, win32popup, web, Perl/TK window or custom program
- report of all errors and warnings
- self monitoring and alerting agent (runs on another system)
- discovery of systems to be managed
- optional static web page built to show status of all systems
Contributed agents include:
- Critical file checker - checks to see if important files have been changed
- oracle table space monitor
- check oracle backup log agent
Enhancements:
- The setup utility has been improved to make installation easier.
- The information display in the logs, vmgt, fs, and procs agents has been improved.
- Various new contributed agents and changes have been added.
- The C Sources have been tidied up with function prototypes, etc.
- Better customization options are now available.
- A daemon restart option has been added.
- Other minor bugfixes and cosmetic enhancements have been made.
Download (0.62MB)
Added: 2007-06-26 License: Artistic License Price:
853 downloads
DataGridField 1.5.0
DataGridField is a product which consists of a table input component for Plone. more>>
DataGridField is a product which consists of a table input component for Plone.
It uses Javascript to make entering tabular data more user friendly process - there are no round trip HTTP requests to the server when inserting or deleting rows.
Main features:
- Any number of columns set by a developer
- Any number of rows filled by a user
- Insert and deleting rows without submitting a form
- Many different column types
<<lessIt uses Javascript to make entering tabular data more user friendly process - there are no round trip HTTP requests to the server when inserting or deleting rows.
Main features:
- Any number of columns set by a developer
- Any number of rows filled by a user
- Insert and deleting rows without submitting a form
- Many different column types
Download (0.11MB)
Added: 2007-03-28 License: LGPL (GNU Lesser General Public License) Price:
940 downloads
Teddy XML Editor 1.1
Teddy is a tabular editor and displayer for XML files. more>>
Teddy is a tabular editor and display for XML files. It presents the structure and content of XML files in a way that is both visually pleasing and easy to use. It is available free, under the GNU public license, for Mac OS X and Linux.
If you have Qt for Windows it should build and run fine for it, but it has not been tested on that operating system.
Enhancements:
- Ability to open currently opened file in external text editor.
- Linux RPM installs application icon and start menu item in KDE.
- Save no longer forces scroll position to the top.
- Single line cell styles now correctly dimensioned.
<<lessIf you have Qt for Windows it should build and run fine for it, but it has not been tested on that operating system.
Enhancements:
- Ability to open currently opened file in external text editor.
- Linux RPM installs application icon and start menu item in KDE.
- Save no longer forces scroll position to the top.
- Single line cell styles now correctly dimensioned.
Download (0.067MB)
Added: 2005-10-06 License: GPL (GNU General Public License) Price:
1479 downloads
uni PHP DataGrid 3.2.0
uni PHP DataGrid is a simple, innovative and powerful tool for generating data-bound grid control. more>>
uni PHP DataGrid is a simple, innovative and powerful tool for generating data-bound grid control, specially designed for Web developers. It is useful for all PHP database- driven Web site and online-based data administration.
It is also useful for dynamic content management and PHP-based hosting providers. The goal is to make free PHP DataGrid generating and editing as simple as possible for Web developers.
Enhancements:
Added:
- ability to define array of page sizes
- case sensitivity (filtering mode)
- ability to define search field to be a dropdown box (filtering mode)
- ability to add optional column in datagrid by editing SELECT SQL statement
- new css template (default)
- ability to define column data to be a link on edit mode page ("linktoview" in setColumnsInViewMode())
Improved:
- setModes()
- css class "default"
- working with $_REQUEST vars
Fixed bugs:
- in filtering mode
- in tabular layout drawing
- in columnar layout drawing
- in paging after search
- empty table bug
<<lessIt is also useful for dynamic content management and PHP-based hosting providers. The goal is to make free PHP DataGrid generating and editing as simple as possible for Web developers.
Enhancements:
Added:
- ability to define array of page sizes
- case sensitivity (filtering mode)
- ability to define search field to be a dropdown box (filtering mode)
- ability to add optional column in datagrid by editing SELECT SQL statement
- new css template (default)
- ability to define column data to be a link on edit mode page ("linktoview" in setColumnsInViewMode())
Improved:
- setModes()
- css class "default"
- working with $_REQUEST vars
Fixed bugs:
- in filtering mode
- in tabular layout drawing
- in columnar layout drawing
- in paging after search
- empty table bug
Download (MB)
Added: 2006-11-23 License: GPL (GNU General Public License) Price:
1071 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 tabular 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