Skip to content

Commit

Permalink
Upd: Remove radiobrowser integration #1311
Browse files Browse the repository at this point in the history
  • Loading branch information
jcorporation committed Jun 23, 2024
1 parent 4459b69 commit 41504fb
Show file tree
Hide file tree
Showing 47 changed files with 72 additions and 868 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ https://github.com/jcorporation/myMPD/

## myMPD 17.0.0 (not yet released)

This release improves the WebradioDB integration and removes the radiobrowser.info integration. You can use [RadioBrowser](https://github.com/jcorporation/mympd-scripts/tree/main/Radiobrowser) script to query the radiobrowser.info API.

### Changelog

Upd: Remove radiobrowser integration #1311

***

## myMPD 16.0.0 (not yet released)
Expand Down
10 changes: 5 additions & 5 deletions docs/references/translating_status.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
- bg-BG: 1052 missing phrases
- bg-BG: 1049 missing phrases
- es-AR: fully translated
- es-ES: 917 missing phrases
- es-VE: 910 missing phrases
- fi-FI: 907 missing phrases
- es-ES: 914 missing phrases
- es-VE: 905 missing phrases
- fi-FI: 902 missing phrases
- fr-FR: fully translated
- it-IT: 30 missing phrases
- ja-JP: fully translated
- ko-KR: fully translated
- nl-NL: fully translated
- pl-PL: 75 missing phrases
- ru-RU: 148 missing phrases
- ru-RU: 146 missing phrases
- zh-Hans: 28 missing phrases
- zh-Hant: 75 missing phrases
76 changes: 7 additions & 69 deletions htdocs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -797,13 +797,6 @@ <h2 data-phrase="Action for selection" class="dropdown-header"></h2>
</div>
<div class="btn-group me-2">
<button data-title-phrase="Browse WebradioDB" class="btn btn-secondary mi" data-href='{"cmd": "appGoto", "options": ["Browse", "Radio", "Webradiodb"]}'>radio</button>
<button class="btn btn-secondary dropdown-toggle dropdown-toggle-split" type="button" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu px-2 dropdownWide">
<div class="d-grid gap-2">
<button data-href='{"cmd": "appGoto", "options": ["Browse", "Radio", "Webradiodb"]}' data-phrase="Browse WebradioDB" type="button" class="btn btn-secondary btn-sm"></button>
<button data-href='{"cmd": "appGoto", "options": ["Browse", "Radio", "Radiobrowser"]}' data-phrase="Browse radio-browser.info" type="button" class="btn btn-secondary btn-sm"></button>
</div>
</div>
</div>
<div class="btn-group me-2">
<button data-title-phrase="Manually add webradio favorite" data-href='{"cmd": "manualAddRadioFavorite", "options": []}' type="button" class="btn btn-secondary mi">add</button>
Expand Down Expand Up @@ -901,52 +894,6 @@ <h2 data-phrase="Action for selection" class="dropdown-header"></h2>
<div class="btn-toolbar d-none justify-content-between" id="BrowseRadioWebradiodbButtonsBottom"></div>
</div>
<!-- WebradioDB end -->
<!-- Radiobrowser start -->
<div id="viewBrowseRadioRadiobrowser">
<div class="btn-toolbar card-toolbar">
<div class="btn-group me-2">
<button data-title-phrase="Select view" class="btn btn-secondary dropdown-toggle mi" type="button" data-bs-toggle="dropdown">layers</button>
<div class="dropdown-menu px-2" id="BrowseRadioRadiobrowserNavDropdown">
</div>
</div>
<div class="btn-group me-2">
<button data-title-phrase="Webradio favorites" data-href='{"cmd": "appGoto", "options": ["Browse", "Radio", "Favorites"]}' type="button" class="btn btn-secondary mi">favorite</button>
</div>
<div class="input-group flex-grow-1 me-2">
<span class="input-group-text border-secondary bg-secondary mi">search</span>
<input data-is="mympd-input-clear" data-clear-event="keydown" data-placeholder-phrase="Search" class="form-control rounded-end" id="BrowseRadioRadiobrowserSearchStr"/>
</div>
<div class="btn-group me-2">
<button id="BrowseRadioRadiobrowserFilterBtn" data-title-phrase="Filter" class="btn btn-secondary rounded-end mi" type="button" data-bs-target="#BrowseRadioRadiobrowserFilter" data-bs-toggle="collapse">filter_list_off</button>
<div class="collapse input-group ms-2" id="BrowseRadioRadiobrowserFilter">
<input data-placeholder-phrase="Tags" id="BrowseRadioRadiobrowserTagsInput" class="form-control me-2 rounded"/>
<input data-placeholder-phrase="Country" id="BrowseRadioRadiobrowserCountryInput" class="form-control me-2 rounded"/>
<input data-placeholder-phrase="Language" id="BrowseRadioRadiobrowserLanguageInput" class="form-control me-2 rounded"/>
<button class="btn btn-success rounded mi" data-href='{"cmd": "searchRadiobrowser", "options": []}'>done</button>
</div>
</div>
<div class="btn-group me-2">
<button data-title-phrase="Select" id="BrowseRadioRadiobrowserSelectModeBtn" data-href='{"cmd": "switchListMode", "options": ["target"]}' type="button" class="btn btn-secondary mi rounded-end">checklist_rtl</button>
<button data-title-phrase="Action for selection" class="btn btn-secondary dropdown-toggle mi d-none" type="button" data-bs-toggle="dropdown">add_task</button>
<div class="dropdown-menu px-2 dropdownWide" id="BrowseRadioRadiobrowserSelectionDropdown">
<h2 data-phrase="Action for selection" class="dropdown-header"></h2>
<div class="d-grid gap-2"></div>
<div class="dropdown-divider"></div>
<small class="mb-0 px-2"></small>
</div>
</div>
<div class="btn-group me-2 featTags">
<button data-title-phrase="View settings" data-contextmenu="viewSettings" data-href='{"cmd": "showContextMenu", "options": ["event"]}' class="btn btn-secondary mi" type="button" data-bs-toggle="dropdown">settings</button>
</div>
<div class="btn-group me-2 featHome">
<button data-title-phrase="Add view to homescreen" data-href='{"cmd": "addViewToHome", "options": []}' type="button" class="btn btn-secondary mi">add_to_home_screen</button>
</div>
<div id="BrowseRadioRadiobrowserPaginationTop" class="btn-group me-2 pagination"></div>
</div>
<div id="BrowseRadioRadiobrowserContainer"></div>
<div class="btn-toolbar d-none justify-content-between" id="BrowseRadioRadiobrowserButtonsBottom"></div>
</div>
<!-- Radiobrowser end -->
</div>
</div>
<!-- Search start -->
Expand Down Expand Up @@ -1460,9 +1407,6 @@ <h5 class="modal-title"><span class="mi title-icon">queue_music</span> <span dat
<li class="nav-item">
<a class="nav-link" href="#modalSettingsAdvancedTab" data-bs-toggle="tab" data-height="true" data-phrase="Advanced"></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#modalSettingsCloudTab" data-bs-toggle="tab" data-height="true" data-phrase="Cloud"></a>
</li>
</ul>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
Expand Down Expand Up @@ -1631,10 +1575,6 @@ <h4 data-phrase="Album info"></h4>
<div id="modalSettingsAlbumInfoFrm"></div>
</div>
</div>
<div class="tab-pane" id="modalSettingsCloudTab">
<h4 data-phrase="Cloud"></h4>
<div id="modalSettingsCloudFrm"></div>
</div>
</div>
</div>
<div class="modal-footer justify-content-between">
Expand Down Expand Up @@ -3021,35 +2961,35 @@ <h5 class="modal-title"><span class="mi title-icon">favorite</span> <span data-p
</div>
</div>
<!-- Modal save radio favorite end -->
<!-- Modal radiobrowser details start -->
<div class="modal fade" id="modalRadiobrowserDetails" tabindex="-1">
<!-- Modal webradio db details start -->
<div class="modal fade" id="modalWebradiodbDetail" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><span class="mi title-icon">radio</span> <span data-phrase="Webradio details"></span></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<h1 class="text-break mb-4" id="RadiobrowserDetailsTitle"></h1>
<h1 class="text-break mb-4" id="modalWebradiodbDetailTitle"></h1>
<div class="row">
<div class="col-12 col-md-4 mb-3">
<div class="album-cover cover-loading" id="modalRadiobrowserDetailsImage"></div>
<div class="album-cover cover-loading" id="modalWebradiodbDetailImage"></div>
</div>
<div class="col-12 col-md-8 table-responsive">
<table id="modalRadiobrowserDetailsList" class="table table-sm">
<table id="modalWebradiodbDetailList" class="table table-sm">
<tbody></tbody>
</table>
</div>
</div>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" data-phrase="Close"></button>
<button type="button" class="btn btn-success" id="modalRadiobrowserDetailsAddToFavoriteBtn" data-href='{"cmd": "showAddToWebradioFavorites", "options": ["event"]}' data-phrase="Add to favorites"></button>
<button type="button" class="btn btn-success" id="modalWebradiodbDetailAddToFavoriteBtn" data-href='{"cmd": "showAddToWebradioFavorites", "options": ["event"]}' data-phrase="Add to favorites"></button>
</div>
</div>
</div>
</div>
<!-- Modal radiobrowser details end -->
<!-- Modal webradio db details end -->
<!-- Modal notifications start -->
<div class="modal fade" id="modalNotifications" tabindex="-1">
<div class="modal-dialog modal-lg modal-dialog-scrollable">
Expand Down Expand Up @@ -3129,7 +3069,6 @@ <h5 class="modal-title"><span class="mi title-icon">chat_bubble_outline</span> <
<!--debug--> <script src="js/modalQueueSetSongPriority.js"></script>
<!--debug--> <script src="js/modalRadioFavoriteDetail.js"></script>
<!--debug--> <script src="js/modalRadioFavoriteEdit.js"></script>
<!--debug--> <script src="js/modalRadioRadiobrowserDetail.js"></script>
<!--debug--> <script src="js/modalRadioWebradiodbDetail.js"></script>
<!--debug--> <script src="js/modalScriptExec.js"></script>
<!--debug--> <script src="js/modalScripts.js"></script>
Expand Down Expand Up @@ -3168,7 +3107,6 @@ <h5 class="modal-title"><span class="mi title-icon">chat_bubble_outline</span> <
<!--debug--> <script src="js/viewBrowseFilesystem.js"></script>
<!--debug--> <script src="js/viewBrowsePlaylist.js"></script>
<!--debug--> <script src="js/viewBrowseRadioFavorites.js"></script>
<!--debug--> <script src="js/viewBrowseRadioRadiobrowser.js"></script>
<!--debug--> <script src="js/viewBrowseRadioWebradiodb.js"></script>
<!--debug--> <script src="js/viewHome.js"></script>
<!--debug--> <script src="js/viewPlayback.js"></script>
Expand Down
58 changes: 1 addition & 57 deletions htdocs/js/apidoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -159,11 +159,6 @@ const APIparams = {
"example": true,
"desc": "true = play first inserted song"
},
"radiobrowserUUID": {
"type": APItypes.string,
"example": "d8f01eea-26be-4e3d-871d-7596e3ab8fb1",
"desc": "Station UUID from radio-browser.info"
},
"preset": {
"type": APItypes.string,
"example": "default",
Expand Down Expand Up @@ -1343,11 +1338,6 @@ const APImethods = {
"example": "append",
"desc": "Action for click on song: append, appendPlay, replace, replacePlay, insertAfterCurrent, view"
},
"clickRadiobrowser": {
"type": APItypes.string,
"example": "view",
"desc": "Action for click on playlist: append, appendPlay, replace, replacePlay, insertAfterCurrent, add"
},
"clickRadioFavorites": {
"type": APItypes.string,
"example": "view",
Expand Down Expand Up @@ -1673,7 +1663,7 @@ const APImethods = {
"view": {
"type": APItypes.string,
"example": "viewQueueCurrent",
"desc": "Valid values: viewQueueCurrent, viewQueueLastPlayed, viewSearch, viewBrowseDatabaseAlbumDetail, viewBrowseDatabaseAlbumList, viewBrowsePlaylistDetail, viewBrowseFilesystem, viewPlayback, viewQueueJukeboxAlbum, viewQueueJukeboxSong, viewBrowseRadioWebradiodb, viewBrowseRadioRadiobrowser"
"desc": "Valid values: viewQueueCurrent, viewQueueLastPlayed, viewSearch, viewBrowseDatabaseAlbumDetail, viewBrowseDatabaseAlbumList, viewBrowsePlaylistDetail, viewBrowseFilesystem, viewPlayback, viewQueueJukeboxAlbum, viewQueueJukeboxSong, viewBrowseRadioWebradiodb"
},
"mode": {
"type": APItypes.string,
Expand Down Expand Up @@ -2284,52 +2274,6 @@ const APImethods = {
}
}
},
"MYMPD_API_CLOUD_RADIOBROWSER_CLICK_COUNT": {
"desc": "Returns radio-browser.info station details.",
"params": {
"uuid": APIparams.radiobrowserUUID
}
},
"MYMPD_API_CLOUD_RADIOBROWSER_NEWEST": {
"desc": "Lists the last changed/added stations.",
"params": {
"offset": APIparams.offset,
"limit": APIparams.limit
}
},
"MYMPD_API_CLOUD_RADIOBROWSER_SEARCH": {
"desc": "Searches radio-browser.info",
"params": {
"offset": APIparams.offset,
"limit": APIparams.limit,
"tags": {
"type": APItypes.string,
"example": "pop",
"desc": "Tag to filter"
},
"country": {
"type": APItypes.string,
"example": "Germany",
"desc": "Country to filter"
},
"language": {
"type": APItypes.string,
"example": "German",
"desc": "Language to filter"
},
"searchstr": APIparams.searchstr
}
},
"MYMPD_API_CLOUD_RADIOBROWSER_SERVERLIST": {
"desc": "Returns radio-browser.info endpoints.",
"params": {}
},
"MYMPD_API_CLOUD_RADIOBROWSER_STATION_DETAIL": {
"desc": "Returns radio-browser.info station details.",
"params": {
"uuid": APIparams.radiobrowserUUID
}
},
"MYMPD_API_CLOUD_WEBRADIODB_COMBINED_GET": {
"desc": "Gets the full WebradioDB.",
"params": {}
Expand Down
3 changes: 1 addition & 2 deletions htdocs/js/browse.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
function initBrowse() {
for (const nav of ['BrowseDatabaseTagListTagDropdown', 'BrowseDatabaseAlbumListTagDropdown',
'BrowsePlaylistListNavDropdown', 'BrowseFilesystemNavDropdown',
'BrowseRadioWebradiodbNavDropdown','BrowseRadioRadiobrowserNavDropdown',
'BrowseRadioFavoritesNavDropdown'])
'BrowseRadioWebradiodbNavDropdown', 'BrowseRadioFavoritesNavDropdown'])
{
elGetById(nav).addEventListener('click', function(event) {
navBrowseHandler(event);
Expand Down
26 changes: 2 additions & 24 deletions htdocs/js/clickActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,36 +80,14 @@ function clickSong(uri, event) {
}
}

/**
* Handler for radiobrowser links
* @param {string} uri stream uri
* @param {string} uuid radiobrowser station uuid
* @param {event} event the event
* @returns {void}
*/
function clickRadiobrowser(uri, uuid, event) {
switch (settings.webuiSettings.clickRadiobrowser) {
case 'append': return appendQueue('song', [uri]);
case 'appendPlay': return appendPlayQueue('song', [uri]);
case 'insertAfterCurrent': return insertAfterCurrentQueue('song', [uri]);
case 'insertPlayAfterCurrent': return insertPlayAfterCurrentQueue('song', [uri]);
case 'replace': return replaceQueue('song', [uri]);
case 'replacePlay': return replacePlayQueue('song', [uri]);
case 'view': return showRadiobrowserDetails(uuid);
case 'context': return showContextMenu(event);
default: logError('Invalid action: ' + settings.webuiSettings.clickRadiobrowser);
}
countClickRadiobrowser(uuid);
}

/**
* Handler for webradioDB links
* @param {string} uri stream uri
* @param {event} event the event
* @returns {void}
*/
function clickWebradiodb(uri, event) {
switch (settings.webuiSettings.clickRadiobrowser) {
switch (settings.webuiSettings.clickWebradiodb) {
case 'append': return appendQueue('song', [uri]);
case 'appendPlay': return appendPlayQueue('song', [uri]);
case 'insertAfterCurrent': return insertAfterCurrentQueue('song', [uri]);
Expand All @@ -118,7 +96,7 @@ function clickWebradiodb(uri, event) {
case 'replacePlay': return replacePlayQueue('song', [uri]);
case 'view': return showWebradiodbDetails(uri);
case 'context': return showContextMenu(event);
default: logError('Invalid action: ' + settings.webuiSettings.clickRadiobrowser);
default: logError('Invalid action: ' + settings.webuiSettings.clickWebradiodb);
}
}

Expand Down
19 changes: 1 addition & 18 deletions htdocs/js/contextMenu.js
Original file line number Diff line number Diff line change
Expand Up @@ -363,23 +363,7 @@ function addMenuItemsSongActions(dataNode, contextMenuBody, uri, type, name) {
addMenuItem(contextMenuBody, {"cmd": "addSongToHome", "options": [uri, type, name]}, 'Add to homescreen');
}
}
if (app.id === 'BrowseRadioRadiobrowser') {
const uuid = getData(dataNode, 'RADIOBROWSERUUID');
addDivider(contextMenuBody);
addMenuItem(contextMenuBody, {"cmd": "showRadiobrowserDetails", "options": [uuid]}, 'Webradio details');
addMenuItem(contextMenuBody, {"cmd": "showEditRadioFavorite", "options": [{
"Name": name,
"Genre": getData(dataNode, 'genre').replace(/,(\S)/g, ', $1'),
"Image": getData(dataNode, 'image'),
"StreamUri": uri,
"Homepage": getData(dataNode, 'homepage'),
"Country": getData(dataNode, 'country'),
"Language": getData(dataNode, 'language'),
"Codec": getData(dataNode, 'codec'),
"Bitrate": getData(dataNode, 'bitrate'),
}]}, 'Add to favorites');
}
else if (app.id === 'BrowseRadioWebradiodb') {
if (app.id === 'BrowseRadioWebradiodb') {
addDivider(contextMenuBody);
addMenuItem(contextMenuBody, {"cmd": "showWebradiodbDetails", "options": [uri]}, 'Webradio details');
addMenuItem(contextMenuBody, {"cmd": "showEditRadioFavorite", "options": [{
Expand Down Expand Up @@ -573,7 +557,6 @@ function createMenuLists(target, contextMenuTitle, contextMenuBody) {
return true;
case 'BrowseFilesystem':
case 'Search':
case 'BrowseRadioRadiobrowser':
case 'BrowseRadioWebradiodb':
case 'BrowseDatabaseAlbumDetail': {
switch(type) {
Expand Down
Loading

0 comments on commit 41504fb

Please sign in to comment.