Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Example: Rhythmbox MP3 Collection Manager

This project has 96 classes.

ECF: manage-mp3.ecf

Source code: directory list

This is a full-blown MP3 collection manager that is designed to work in conjunction with the Rhythmbox media player and has a number of features of particular interest to Tango DJs.

Manger Syntax

el_rhythmbox -manager -config <task-configuration>.pyx

Features

<genre>/<artist-name>/<song-title>.<unique id>.mp3

Manual

For details on how to use, read the source documentation notes in class RHYTHMBOX_MUSIC_MANAGER_APP.

Download

Download the latest executable for Ubuntu 14.04 or Linux Mint 17.x at the bottom of this page. You also need the following command line tools to be installed: sox, swgen, avconv, lame, gvfs-mount.

Warning: Use at your own risk. It is recommended that you have a backup of your MP3 collection and rhythmbox configuration files (Usually in $HOME/.local/share/rhythmbox). The developer does not take any responsibility for any data loss that may occur as a result of using el_rhythmbox.

Directory: example/manage-mp3/source

[ . ]

. /apps

. /audio-id

. /collate

. /id3

. /obsolete

. /rhythmbox/constants

. /rhythmbox/database

. /rhythmbox/database/entry

. /rhythmbox/device

. /rhythmbox/device/sync

. /rhythmbox/manager

. /rhythmbox/playlist

. /rhythmbox/publish

. /rhythmbox/support

. /rhythmbox/tasks

. /rhythmbox/tasks/ID3/edit

. /rhythmbox/tasks/ID3/query

. /rhythmbox/tasks/export

. /rhythmbox/tasks/import

. /rhythmbox/test

. /rhythmbox/test/task

[ . ]

APPLICATION_ROOT

Application root

BUILD_INFO

Build specification

Further Information

Click on class link to see notes.

apps

ID3_EDITOR_APP

Id3 editor app

MP3_AUDIO_SIGNATURE_READER_APP

Mp3 audio signature reader app

MUSIC_MANAGER_SUB_APPLICATION

Music manager sub application

RHYTHMBOX_MUSIC_MANAGER_APP

MP3 manager for the Rhythmbox media player. The manager executes tasks defined by task configuration written in Pyxis format (an XML analog). See example/manage-mp3/doc/tasks for configuration examples.

See the class hierarchy with RBOX_MANAGEMENT_TASK as it's root.

Usage:

el_rhythmbox -manager -config <task-configuration>

The -manager switch is needed to select a sub application from the main application. See class APPLICATION_ROOT.

Further Information

Click on class link to see warning and instructions.

TANGO_MP3_FILE_COLLATOR_APP

Application to collate a Tango MP3 collection into a directory structure using any available ID3 tag information and renaming the file according to the title and a numeric id to distinguish duplicates.

<genre>/<artist>/<title>.<id>.mp3

TEST_APP

Test app

TEST_RHYTHMBOX_MUSIC_MANAGER_APP

Test rhythmbox music manager app

audio-id

MP3_AUDIO_SIGNATURE_READER

MP3 audio signature reader

MP3_IDENTIFIER

Mp3 identifier

collate

TANGO_MP3_FILE_COLLATOR

Tango mp3 file collator

id3

ID3_EDITOR

Id3 editor

ID3_EDIT_CONSTANTS

Id3 edit constants

ID3_TAG_INFO_ROUTINES

ID3 tag edits

obsolete

RBOX_APPLICATION

Rbox application

RBOX_DATABASE_TRANSFORM_APP

Rbox database transform app

TASK_CONFIG

Task config

rhythmbox/constants

COMMAND_OPTIONS

Command options

M3U_PLAY_LIST_CONSTANTS

M3U play list constants

RHYTHMBOX_CONSTANTS

Rhythmbox constants

rhythmbox/database

RBOX_DATABASE

Database of all Rhythmbox songs, playlists, radio entries and ignored entries. It is read from these files:

$HOME/.local/share/rhythmbox/rhythmdb.xml
$HOME/.local/share/rhythmbox/playlists.xml
$HOME/Music/Playlists/*.pyx

The *.pyx ones are playlists which have been saved using the update_dj_playlists task.

Note that this database save modifications to songs and playlists.

RBOX_PLAYLIST

Rhythmbox playlist

RBOX_PLAYLIST_ARRAY

Rbox playlist array

SHARED_DATABASE

Shared database

SONG_IN_PLAYLIST_QUERY_CONDITION

Song in playlist query condition

SONG_QUERY_CONDITIONS

Song query conditions for use with EL_CHAIN routines

query
query_if
inverse_query_if

Further Information

Click on class link to see descendants.

rhythmbox/database/entry

RBOX_CORTINA_SONG

Rbox cortina song

RBOX_IGNORED_ENTRY

Rbox ignored entry

RBOX_IRADIO_ENTRY

Rbox iradio entry

RBOX_PLAYLIST_ENTRY

Entry indicating location of external playlist in Pyxis format

RBOX_SONG

Object representing Rhythmbox 2.99.1 song entry in rhythmdb.xml

rhythmbox/device

NOKIA_PHONE_DEVICE

Nokia have their own Windows style playlist format

SAMSUNG_TABLET_DEVICE

Samsung tablet device

STORAGE_DEVICE

Device to which to mp3 files can be exported

TEST_STORAGE_DEVICE

Test storage device

rhythmbox/device/sync

MEDIA_ITEM

Media item

MEDIA_ITEM_DEVICE_SYNC_TABLE

Media item device sync table

MEDIA_SYNC_ITEM

Media sync item

rhythmbox/manager

CORTINA_SET_INFO

Cortina set info

DJ_EVENT_INFO

Dj event info

PLAYLIST_EXPORT_INFO

Playlist export info

RBOX_MUSIC_MANAGER

Rhythmbox music manager

VOLUME_INFO

Volume info

rhythmbox/playlist

CORTINA_SET

Cortina set

M3U_PLAYLIST

M3U playlist

M3U_PLAYLIST_READER

M3U playlist reader

NOKIA_PLAYLIST

Nokia playlist

PLAYLIST

Playlist

rhythmbox/publish

DJ_EVENTS_HTML_INDEX

Dj events html index

DJ_EVENTS_PUBLISHER

Dj events publisher

DJ_EVENT_HTML_PAGE

Dj event html page

DJ_EVENT_PLAYLIST

Playlist exported from Rhythmbox in Pyxis format with information about DJ gig.

DJ_EVENT_PUBLISHER_CONFIG

DJ event publisher config

HTML_SONG

Html song

rhythmbox/support

DETECT_RHYTHMBOX_COMMAND

Detect rhythmbox command

MARKUP_LINE_COUNTER

Markup line counter

rhythmbox/tasks

ARCHIVE_SONGS_TASK

Archive songs task

COLLATE_SONGS_TASK

Collate songs task

DEFAULT_TASK

Default task

ID3_TASK

Task to query or edit ID3 tag information

PUBLISH_DJ_EVENTS_TASK

Publish dj events task

RBOX_MANAGEMENT_TASK

Rhythmbox music manager task

Further Information

Click on class link to see descendants.

REPLACE_CORTINA_SET_TASK

Replace cortina set task

REPLACE_SONGS_TASK

Replace songs task

RESTORE_PLAYLISTS_TASK

Restores playslist from /home/<user>/.local/share/rhythmbox/playlists.backup.xml

UPDATE_DJ_PLAYLISTS_TASK

Update dj playlists tasks. Inserts an ignored entry into database indicating location of Pyxis playlist.

rhythmbox/tasks/ID3/edit

ADD_ALBUM_ART_TASK

Add album art task

DELETE_COMMENTS_TASK

Delete comments task

REMOVE_ALL_UFIDS_TASK

Remove all ufids task

REMOVE_UNKNOWN_ALBUM_PICTURES_TASK

Remove unknown album pictures task

UPDATE_COMMENTS_WITH_ALBUM_ARTISTS_TASK

Update comments with album artists task

rhythmbox/tasks/ID3/query

DISPLAY_INCOMPLETE_ID3_INFO_TASK

Display songs with incomplete TXXX ID3 tags

DISPLAY_MUSIC_BRAINZ_INFO_TASK

Display music brainz info task

NORMALIZE_COMMENTS_TASK

Rename 'Comment' comments as 'c0' This is an antidote to a bug in Rhythmbox version 2.97 where editions to 'c0' command are saved as 'Comment' and are no longer visible on reload.

PRINT_COMMENTS_TASK

Print ID3 comments task

rhythmbox/tasks/export

EXPORT_MUSIC_TO_DEVICE_TASK

Export music to device task

EXPORT_PLAYLISTS_TO_DEVICE_TASK

Export playlists to device task

EXPORT_TO_DEVICE_TASK

Export to device task

rhythmbox/tasks/import

IMPORT_M3U_PLAYLISTS_TASK

M3U playlist import task

IMPORT_NEW_MP3_TASK

Import mp3 not currently in database and set artist and genre according to current location in

Music/<genre>/<artist/composer>

IMPORT_VIDEOS_TASK

Import videos task

rhythmbox/test

RBOX_CORTINA_TEST_SONG

Rbox cortina test song

RBOX_TEST_DATABASE

Rbox test database

RBOX_TEST_MUSIC_MANAGER

Test music manager

RBOX_TEST_SONG

Rbox test song

SHARED_TEST_DATABASE

Shared test database

rhythmbox/test/task

EXPORT_MUSIC_TO_DEVICE_TEST_TASK

Export music to device test task

EXPORT_PLAYLISTS_TO_DEVICE_TEST_TASK

Export playlists to device test task

EXPORT_TO_DEVICE_TEST_TASK

Export to device test task

IMPORT_NEW_MP3_TEST_TASK

Test import of new MP3 and tag according to genre and artist location

IMPORT_VIDEOS_TEST_TASK

Import videos test task

REPLACE_CORTINA_SET_TEST_TASK

Replace cortina set test task

REPLACE_SONGS_TEST_TASK

Replace songs test task

TEST_MANAGEMENT_TASK

Test management task

UPDATE_DJ_PLAYLISTS_TEST_TASK

Update dj playlists test task