As expected, I’m getting sick of all the bugs in SAM Broadcaster and lack of support from Spacial. I’ve decidet to swith Radio H2O to RadioDJ The idea had been on my mind for some time, but after reading a RadioDJ forum post by NounosSon I decided to start working on it. After all – how hard can it be; It is only data after all.
This solution generates a valid MySQL SQL script from SAMBC Firebird or MySQL database if WORK_MODE
in config.php
is set to WORK_MODE_FILE
or inserts data from SAMBC database directly into RDJ MySQL database if WORK_MODE
is set to WORK_MODE_INSERT
. In latter case you have to make sure the database and its tables exist. I highly suggest to try WORK_MODE_FILE
first, so you don’t mess up you RDJ database. While exporting data it is possible to convert between character sets if SAM_CHARSET
and TARGET_CHARSET
are set to correct values.
Note: Charset conversion can be disable by setting SAM_CHARSET
and CHARESET
to same value.
To run the script, shut down SAMBC. You can even completely uninstall SAMBC, because all we need is the data from database and your data belongs to you, not Spacial.
If you use direct import option – WORK_MODE_INSERT
, you have to shut down RadioDJ and please back up your data.
Version 0.1
Exports only historylist
data from SAMBC. Few fields are missing from resulting data:
id_subcat
(sub category reference);disk_no
(no disc numbers in SAMDB);original_artist
;copyright
;
I had to fiddle a bit with genre data, but got it working after all. If the genre from SAMBC songlist
matches a genre in RDJ genre
table the matching genre_id
will be exported. Comparison is done case-insensitive, so it should be ok if case is different from song to song.
Imortant! Make sure you’ve set RDJ “Keep History For” under “Stream Titles” settings tab to a higher value before starting migration, otherwise the history data will be lost on next RDJ startup.
Version 0.2
Can export historylist
and songlist
data from SAMBC. For now song data will be exported without category data. The problem is that RadioDJ does not have multilevel categories like SAMBC does. I had a conversation with Marius about this and he promised to look if and how he could implement that in RDJ. All SAMBC xfade
settings will be translated to RDJ cue_times
, but all songs will have to be placed in correct subcategories.
TODO:
- Esport SAMBC categories as RadioDJ playlists. If only RDJ rotations allowed to select songs from playlists, I’d be ready to migrate.
- Create RDJ MySQL tables if needed
- Check
songlist
entries for moved/removed files before import
The source is available on GitHub.