mp3riot (formerly known as f2html.pl)
I decided to rename f2html.pl into mp3riot. the reason is, that
the name f2html.pl does not clearly indicate, for what the program
is best suited for. Because the program has grown so much (and
because the the name should be more attractive to get more users),
a renaming seems to be a must to me.
There are some important news about mp3riot / f2htmlpl. Please see the NEWS
for further details.
Mp3riot (formerly known as f2html.pl) is a command line utility that searches recursively through directories,
builds a file list (with additional file information), and generates html files, plylists, etc. The output can be controlled,
links can be corrected, and more. The script is mainly desigend to create Web pages, playlists, and databases
for mp3-files, but can also used for other purposes.
Read the manual for further details.
- supports playlists in m3u, pls, and xml format
- supports sql output
- creates html pages, templates can be used
- supports advanced grouping methods
- supports slection by date ranges, file extensions, and by random
- supports renaming of mp3 files using id3tag information, templates or guessing can be used
- advanced string manipulation methods
- and much more ...
Latest version: mp3riot-1.3.zip
Older versions of mp3riot / f2html.pl:
You can also download a windows executable compiled with perl2exe. Then you need not
to install perl. But I have not testet the functionality of the executable in detail. So it is best
to use perl and the source of mp3riot!
Windows binaries of mp3riot:
perl mp3riot [options]
You can use nearly all commands in a config file (and it is the best to do it this way!). The syntax then changes sligthly, so that, for example,
--dir changes to dir=
- -h, --help: Show this screen and exit
- -k, --mkconf:Use an assistant to write a config file
- -o, --os win/unix: Default "unix", otherwise windows
- -Q, --sortby value: Default is NAME (the filename). You can sort the filelist by the following criteria: URLNAME, SHOWNAME, DIR, NAME, TITLE, ARTIST, ALBUM, YEAR, COMMENT, GENRE, TRACKNUM, SIZE, MODTIME, VBR, BITRATE, FREQUENCY, MINUTES, SECONDS, FIRSTCHAR
- -n, --doublicates: Check for doublicates of files by their filename
- -D, --md5doublicates: Check for doublicates of files by their MD5 sum
- -V, --seekvalues <n,+-n,n>: Three values that have to be seperated by ",". This is an useful option for --md5doublicates.
The first one is the offset in bytes, the second is
the number of bytes to seek (and the direction), and
the last value tells the program where to start from (1 means to
start from the begining of a file, 2 means to start
from the end of a file. So, a combination of 1000,-1128,2
tells the programm to start 1128 bytes before the file ends
(id3v1 tag is 128 bytes long!) and use
1000 bytes for calculation of md5 sums.
- -b, --dbfile file: Write database to a file for searching it
- -m --m3u file: Write a m3u playlist file. Directory and filename or GROUPPATH for writing m3u files for groups.
- -X --xml file: Write a xml playlist file. Directory and filename or GROUPPATH for writing xml files for groups.
- -L --pls file: Write a pls playlist file. Directory and filename or GROUPPATH for writing pls files for groups.
- -W, --b4s file: Write a b4s playlist file. Directory and filename or GROUPPATH for writing b4s files for groups.
- -t, --html file: Write a html file. Directory and filename or GROUPPATH for writing html files for groups.
- -a, --http name: Define the http address for url
- -r, --remove: Remove id3tags (do you know what you are doing?)
- -i, --mp3info: Use mp3/ogg info for html output
- -e, --ext: Remove file extensions in html output
- -f, --filesize: Use filesize for html output
- -c, --check ext: Select files by their extension(s) (e.g. mp3). For every extension use a seperate flag!
- -z, --skip number: Skip n elements of mount/directories/names
- -p, --conf file: Use a config file
- -w, --utf8 file: File with UTF-8 code for replacements in links
- -q, --nocs: Do sorting not case sensitive
- -j, --statfile file: Write statistics to file
- -d, --dir directory: Define the (multiple) directory(ies) the mp3s are stored in. For every directory use a seperate flag!
- -g, --sql file: Filename to store sql table in (only for mp3 and ogg!)
- -y, --replace file: Name of replacement file; in the file use <string_1>=<string_2> to transform <string_1> into <string_2>;
special characters like a backslash have to be preceeded by a backslash "\\" (used for directories)
- -s, --seperate path: Write seperate html files for every character
- -R, --rename: Renames mp3 and ogg file using their id3tag. The use of rename_template in the configfile is optional. If rename_template is not used,
the program tries to create a filename like: ARTIST - ALBUM - TRACKNUMBER - TITLE by using the id3tag. It assumes, that the filenames have a similar format
and tries to guess, whether the id3tag has enough information to create a better filename. Old and new filenames are stored in RENAME.bak
- -B, --renameback: Renames files back using the file RENAME.bak
- -T, --templatesHtml templates are used. They have to be defined in the conmfig file using the commands html_head, html_change, html_body,
html_footer, html_sep_head. See the README for avalable templates!
- -G, --groupfile file: Filename for grouping information: <groupname1>=<TYPE>=<string1>,<string2>,...
Prossible types are: EQUAL, NAME, DIR, TITLE, ARTIST, ALBUM, YEAR, COMMENT, GENRE, TRACKNUM, SIZE, MODTIME, VBR, BITRATE, FREQUENCY, MM, SS, FIRSTCHAR
- -P, --grouppath path: The path, where to write the html files for group
- -O, --older number: Only files are selected, having a modification time higher than the specified days
- -Y, --younger number: Only files are selected, having a modification time less than the specified days
- -I, --id3tag: Use the id3 tag to get infos
- -S, --random number: Percentage of file to select randomly (e.g. 50 to select 50% of files/every second file)
Additionally, in the config file it is possible to use the commands:
- exec= param: Execute system command. This command can be used multiple times
- rename_template=string:string with templates for renaming files by their id3tag (to be used together with --rename)
The following rename templates are available: **TITLE**, **ARTIST**, **ALBUM**, **YEAR**, **COMMENT**, **GENRE**. **TRACKNUM**
- html_head= string: Html code for the head
- html_change= string: Html code if the first character between two file names change
- html_body= string: Html code for each filename
- html_footer= string: Html code for the foot
- html_sep_head= string: Html code for the head seperate html files by first character
The following html templates are available: **SUMOFFILES**, **SUMOFMEGS**, **DATE**, **URLNAME**, **SHOWNAME**, **DIR**, **NAME**, **TITLE**,
**ARTIST**, **ALBUM**, **YEAR**, **COMMENT**, **GENRE**, **TRACKNUM**, **SIZE**, **MODTIME**, **VBR**, **BITRATE**, **FREQUENCY**, **MINUTES**,
**SECONDS**, **HTMLINDEX**, **FIRSTCHAR**
- extended grouping fuction for all playlistfiles
- renaming of special characters for filenames og groups
- support of b4s playlistformat
- sorting of filelist by various criterias of id3tag, mp3 and
- file information (e.g. ARTIST, BITRATE etc.)
- extended output of doublicate function by diretory names
- added FIRSTCHAR as a value for grouping
- Fixed bug in sql output
- Flexible search for doublicate files using md5 sums
- search for doublicates by filenames seperated from search function
- fixed bug in xml output
- filesize in html output is now rouded
- replaced progress bar by counter in percentage
- added counter for collected files
- fixed bug in index in html output
- fixed bug in html output for grouping
- extended grouping function by new type EQUAL
- bugfix in pls output
- Renamed f2html.pl into mp3riot
- Fixed output of playlist in M3U format, so that the M3U file is now containing full information
- Fixed bug for retreaving the TITLE of an id3tag
- Added output of playlist in XML format
- Added output of playlist in PLS format
- Added random fileselection for random playlists
- Added the tracknumber for sql output
- Added **TRACKNUM** (tracknumber) and as a template variable for html output
- Added TRACKNUM (tracknumber) as a variable for groupings
- Added tracknumber and comment for db output
- Fixed bug in renaming function when special characters are present in the id3tag
- Added rename_template to do renaming of files using their id3tag in a flexible way
- Fixed a bug in renameback
- Fixed some smaller bugs
- Rebuild the internal data structure completely
- Removed option for fast sorting (not necessary any more)
- Implemented selection of files by their modification time (younger and/or older than days from now)
- Implemented grouping of files by string matching between group defninitions by various types
- Implemented variable html-code dsefinitions and templates
- Changed definition for string replacement
- f2html.pl now comes with a new version of Info.pm from MP3-Info-1.02 by Chris Nandor
- The use of the id3tag for sql and html output is now optional
- Manpage is not supported any more.
- Fixed a commandline parameter bug where the parameters were handled non case sensitive. Now there are handled case sensitive.
As a result the functions RENAME and RENAMEBACK did not work when called with the short command line argument.
- Fixed a commandline parameter bug that occured with Perl 5.8.0 and Getopt::Long 2.32. The -s flag in line 1 of the perl script
causes the program to count the command line parameters in an usual way, so that command line parameters got disturbed and did
not work any more.
- Some changes in the documentation.
- New option to rename files using their id3tag.
- New option to rename files back.
- Some code fixes.
- Usage of the replace option has changed.
- Bug for the option "check" in config file and configuration wizard fixed
- Bug for the check of the mp3 extension when mp3info was enabled fixed.
- Bug of sum of megs in html output fixed.
- Bug in mp3table.sql fixed.
- Basic ogg vorbis support implemented (thanks to Jens Burkal).
- New method (experimental) for faster sorting. Useful for indexing huge number of files or mp3 files
with additional information.
- New option for checking for dublicates of filenames.
- Now f2html.pl comes wioth a new version of Info.pm from MP3-Info-1.01 by Chris Nandor.
- Fixed problem with sql data output when files contain the charakter " ' ".
- Name of option "hex" changed to "utf8".
- Implemeted progress bar for prepating html files.
- More information about what the program is doing.
- Now f2html comes with a new version of Info.pm from MP3-Info-0.91 by Chris Nandor.
- Minor Bugfixes.
- New option to create sql database.
- New option to create a config file.
- Some checks and corrections for pathnames.
- Only existing characters are written out at the top of a html file.
- Rewrite of sum of files and sizes. Important for writing seperate html files for every character.
- The option -q has been implemented and allows for doing the procedures in a non case sensitive way.
- The option -j has been implemented. A html file with statistics can be written out.
- The manual has been updated.
- The option -c has been updated. Now this option can be used more
than only one time. So one is able to select file by different
back to top
| Whats New|
|[2005-02-18] mp3riot version 1.3 released|
|[2004-10-08] mp3riot version 1.2 is out.|
|[2004-04-30] Added section Bridging|
|[2004-01-09] working progress on mp3riot version 1.2|
|Linus has sent out 3.19-rc1and closed the
merge window for this release one day earlier than some might have
expected. "Considering how much came in fairly late, I find it hard
to care about anybody who had decided to cut it even closer than some
people already did. That said, maybe there aren't any real stragglers -
and judging by the size of rc1, there really can't have been much."In the end, 11,408 non-merge changesets were pulled into the mainline
during this development cycle.
|Kernel prepatch 3.19-rc1|
|The lowRISC project, which aims to create and manufacture a fully open-source system-on-chip (SoC) and development board, has released a documenton its plans to incorporate tagged memory and minion cores into the SoC. Minion cores are separate I/O processors that can be used to implement various I/O protocols without requiring additional hardware in the design.
"Tagged memory associates metadata with each memory location and can be used to implement
fine-grained memory access restrictions. Attacks which hijack control flow can be prevented by
using this protection to restrict writes to memory locations containing return addresses, function
pointers, and vtable pointers. Importantly, we anticipate this can be implemented with a worst-
case performance overhead of a few percent and a similarly low area cost. This fine-grained
memory protection can be used automatically by the compiler, meaning improved security is
available to existing programs without source code modifications. We intend to provide tagged
memory alongside security features which are already commonly deployed such as secure boot,
encrypted off-chip memory, and cryptographic accelerators."|
|Tagged memory and minion cores in the lowRISC SoC|
|The Free Software Foundation Europe (FSFE) has commentedon the most recent European Union (EU) budget?approved on December 17?that includes ?1 million for auditing free-software programs that are used by the EU governmental bodies. The auditing is meant to find and fix security holes in those programs. "Even though these institutions are tightly locked into non-free file formats, much of their infrastructure is based on Free Software.
'This is a very welcome decision,' says FSFE's president Karsten Gerloff. 'Like most public bodies, the European institutions rely heavily on Free Software for their daily operations. It is good to see that the Parliament and the Commission will invest at least a little in improving the quality and the programs they use.'"|
|EU to fund Free Software code review (FSFE)|
|CentOShas updated glibc(C7:
code execution), jasper(C7; C6: three code execution flaws), and kernel(C7: privilege escalation).
Gentoohas updated znc(two
denial of service flaws, one from 2013).
Oraclehas updated glibc(OL7:
three vulnerabilities), jasper(OL7;
OL6: three code execution flaws), and
kernel(OL7; OL5; OL5:
Red Hathas updated glibc(RHEL7:
code execution) and jasper(RHEL6&7:
three code execution flaws).
Scientific Linuxhas updated jasper(SL6&7: three code execution flaws).
Ubuntuhas updated kernel(14.04:
regression in previous security fix) and kernel(14.10: regression in previous security
|Friday's security advisories|
|There is a new version of the Git client out with an important security
fix: with vulnerable versions of the Git client on a case
insensitivefilesystem, it is possible for a pull from a repository
to overwrite the .gitdirectory and cause the execution of
arbitrary commands. Linux systems running normal filesystems are not
affected by this problem, but Windows and Mac OS systems are.
|Git v2.2.1 (security release) available|
|The KDE project has announced the release of KDE Applications 14.12, which has the first set of applications that have been ported to KDE Frameworks 5. Most of the applications are still based on KDE Development Platform 4, but some have been moved to the new Qt5-based Frameworks. "The release includes the first KDE Frameworks 5-based versions of Kate and
KWrite, Konsole, Gwenview, KAlgebra, Kanagram, KHangman, Kig, Parley,
KApptemplate and Okteta. Some libraries are also ready for KDE Frameworks 5
use: analitza and libkeduvocdocument.
Libkface is new in this release; it is a library to enable face detection and
face recognition in photographs."More information on the new features and fixes that came in the release can be found in the change logand a KDE.News article.
|KDE Applications 14.12 released|
|On his blog, André Klapper describesWikimedia's move from Bugzilla to Phabricator, which is described as an "open source software engineering platform". After ten years and 70,000+ bugs, there was a lot of data to migrate, which went well overall, though there were a few surprises along the way.
"We had to work around an unresolved upstream XML-RPC API bugin Bugzilla by applying a custom hack when exporting comments in a first step and removing the hack when exporting attachments (with binary data) in a second step. Though we did, it took us a while to realize that Bugzilla attachments imported into Phabricator were scrambled as the hack got still applied for unknown reasons (some caching?). Rebooting the Bugzilla server fixed the problem but we had to start from scratch with importing attachments."(Thanks to Paul Wise.)
|Klapper: Good bye Bugzilla, welcome Phabricator.|
|CentOShas updated kernel(C5:
Fedorahas updated bind(F20: two
denial of service flaws), cpio(F21: denial
of service), pam(F20: two vulnerabilities,
one from 2013), and tcpdump(F20: three vulnerabilities).
Red Hathas updated kernel(RHEL7; RHEL6;
RHEL5: privilege escalation).
Scientific Linuxhas updated kernel(SL7; SL5:
|Security updates for Thursday|
|Version 9.4of the
PostgreSQL relational database management system is out. "This
release adds many new features which enhance PostgreSQL's flexibility,
scalability and performance for many different types of database users,
including improvements to JSON support, replication and index
performance."See this articlefor
a lot more information on what's in this release.
|PostgreSQL 9.4 released|
|The LWN.net Weekly Edition for December 18, 2014 is available.
|[$] LWN.net Weekly Edition for December 18, 2014|
|The GnuPG projectis seeking donations.
"For a critical project of this size two experienced developers are
required for proper operation. This requires gross revenues of 120000 Euro
per year. Unfortunately there is currently only one underpaid full time
developer who is barely able to keep up with the work; see this blog entryfor some background."(Thanks to Paul Wise)
|Securing the future of GnuPG|
|CentOShas updated kernel(C6: multiple vulnerabilities) and mailx(C7; C6: command execution).
Debianhas updated bsd-mailx(command execution) and heirloom-mailx(command execution).
Fedorahas updated dbus(F21:
multiple vulnerabilities), grub2(F19: code
execution), mingw-jasper(F21; F20; F19: code
execution), pwgen(F19: two
denial of service), rpm(F21: code
execution), and xorg-x11-server(F20: multiple vulnerabilities).
openSUSEhas updated seamonkey(13.2; 13.1,
12.3: multiple vulnerabilities) and thunderbird(13.2, 13.1, 12.3: multiple vulnerabilities).
Oraclehas updated kernel(OL6: multiple vulnerabilities) and mailx(OL7; OL6: command execution).
Red Hathas updated kernel(RHEL6: multiple vulnerabilities), kernel-rt(RHE MRG: privilege
escalation), mailx(RHEL6,7: command
execution), and thermostat1-thermostat(RHSCL: privilege escalation).
Scientific Linuxhas updated kernel(SL6: multiple vulnerabilities) and mailx(SL6,7: command execution).
|Security advisories for Wednesday|
|Stable kernels 3.18.1, 3.17.7, 3.14.27, and 3.10.63have been released. All contain
|Stable kernel updates|
|The Trinity Desktop Environment (TDE) development team has announced
the releaseof TDE R14.0.0. "Unlike previous releases TDE R14.0.0 has been in development for over two years. This extended development period has allowed us to create a better, more stable and more feature-rich product than previous TDE releases. R14 is brimming with new features, such as a new hardware manager based on udev (HAL is no longer required), full network-manager 0.9 support, a brand new compositor (compton), built-in threading support, and much more!"|
|Trinity Desktop Environment R14.0.0 Released|
|Sean Harmer coversthe revival
of Qt3D, a 3D framework. "With OpenGL taking a much more prominent position in Qt 5?s graphical stack ? OpenGL is the underpinning of Qt Quick 2?s rendering power ? and with OpenGL becoming a much more common part of customer projects, KDAB decided that it would be good for us and for the Qt community at large if we took over maintainership and development of the Qt3D module. To this end, several KDAB engineers have been working hard to bring Qt3D back to life and moreover to make it competitive to other modern 3D frameworks.
This article is the first in a series that will cover the capabilities, APIs, and implementation of Qt3D in detail."|
|Harmer: Overview of Qt3D 2.0 ? Part 1|
fase4 RDF Error: http://www.securityfocus.com/rss/vulnerabilities.xml is not available