-
Notifications
You must be signed in to change notification settings - Fork 0
Build a single m3u playlist of any number of Digitally Imported channels.
License
depwl9992/di_fm_m3u_builder
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
DI.fm m3u Builder A small utility to build an m3u playlist from any set of Digitally Imported internet radio channels. Written by Daniel Powell in Embarcadero C++ Builder XE3. Unless translated, various VCL libraries are required to rebuild on other systems. Features: * Configure any set of bandwidths (4 available in Premium). This is playlist-wide - selected set of bandwidths will be written for all selected channels. * Configure station URLs hosted on 8 redundant, mirrored servers (configurable), or simply link to the hosted .pls file preconfigured with their preferred servers. * Playlist-vs-Server URLs are persistent between sessions via .ini file. * Premium account is required on http://www.di.fm. A 24-byte listen key will be generated which is entered in the application and stored between sessions in the ini file. * Channel list (key=value formatting) is loaded on startup from channels.txt in the program directory. Selecting a channel from the dropdown will queue the channel for adding to the current playlist. * Channels can be manually entered into the queue fields and added. Usage: 1. Type a channel name and "abbreviation" into text fields, then click the "Add" button (the return key in either field will also complete this action). Abbreviation refers to the string within the di.fm URL. Ex.) Name = Abbreviation: Ambient = ambient Bass & Jackin' House = bassnjackinhouse Oldschool Techno & Trance = classictechno 2. Entries will be added to the TStringGrid. If at any point, an error is made, entries are editable similar to a spreadsheet application. The entire list can be cleared via the "Reset List" button. 3. Enter your "listen key" found in http://www.di.fm/settings into the Listen Key field. 4. Select either the "Server" or "Playlist" URL type. Server-side playlists are pre-configured with 2 to 8 station URLs. Server-type URLs simply remove this layer of redirection and access the station URLs directly. 5. Select any number of bandwidths for the Account type. Note: This is a global setting, so all stations you wish to write to the final m3u playlist will have their own sets of bandwidth entries. Bandwidths are not yet configurable per station. 6. If the Server URL type is selected, all eight redundant servers will be made available, of which any combination can be selected to be written into the playlist. Like bandwidths, servers are global. The m3u playlist will be written with the full list of selected stations under each channel. Warning: If all bandwidths and all stations are selected, each channel will host 32 separate entries in the m3u playlist. With 91 current channels, this is a maximum of approx. 2900 entries in said playlist file. 7. Click the "Save" or "Save As" button to collate all form data including entries in the Grid to the right-hand memo, then save its contents to a user-named m3u file. 8. Click "Play with Default Player" to run the saved m3u file in your computer's default media player. Additional notes: * Clicking "Play with Default Player" will play the last-saved playlist. * If playlist is unsaved, Play button will create a temporary m3u located in the User Local Temp folder (http://docwiki.embarcadero.com/Libraries/XE3/en/System.IOUtils.TPath.GetTempPath). * If grid is blank (unsaved assumed), Play button will check if any channel is currently queued, auto-add it to the playlist and build a temporary m3u in the user temp folder to play from. * As of April 2016, internet playlists are unavailable for free accounts - free accounts can only play from the browser. Therefore the "Free/Premium" radio buttons are greyed out and we always assume we're building a premium-type playlist. * "Reset List" button clears the Grid and location of the last-saved playlist. Todo: * Name all form elements for ease of future development. * Hint and tabstop all form elements. * Eventually remove/hide debugging Memo1. Longterm: * Scrobbling to LastFM would be extremely cool. Right now, the only scrobbler I know of that does this from an Internet radio station is a Foobar2000 plugin. Nothing exists afaik for WMP, Winamp, iTunes, etc. - See https://ppsstudios.com/lastfm.php for development on scrobbling API.
About
Build a single m3u playlist of any number of Digitally Imported channels.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published