From b3837f581a07df6de4ea1f7e2fff50ac840953c2 Mon Sep 17 00:00:00 2001 From: Denny Sheirer Date: Sat, 24 Jun 2023 07:05:44 -0400 Subject: [PATCH] #1581 Updates Rdio Scanner configuration editor to automatically append the 'api/call-upload' path to the end of the protocol and host value provided by the user. Sets the host default value to 'http://localhost' but allows the user to overwrite. (#1582) Co-authored-by: Dennis Sheirer --- .../rdioscanner/RdioScannerConfiguration.java | 9 ++++-- .../playlist/streaming/RdioScannerEditor.java | 30 ++++++++++++++----- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/main/java/io/github/dsheirer/audio/broadcast/rdioscanner/RdioScannerConfiguration.java b/src/main/java/io/github/dsheirer/audio/broadcast/rdioscanner/RdioScannerConfiguration.java index 59702855..e9350613 100644 --- a/src/main/java/io/github/dsheirer/audio/broadcast/rdioscanner/RdioScannerConfiguration.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/rdioscanner/RdioScannerConfiguration.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2020 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,9 +24,7 @@ import io.github.dsheirer.audio.broadcast.BroadcastConfiguration; import io.github.dsheirer.audio.broadcast.BroadcastFormat; import io.github.dsheirer.audio.broadcast.BroadcastServerType; import javafx.beans.binding.Bindings; -import javafx.beans.property.BooleanProperty; import javafx.beans.property.IntegerProperty; -import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; @@ -62,6 +60,11 @@ public class RdioScannerConfiguration extends BroadcastConfiguration mValid.unbind(); mValid.bind(Bindings.and(Bindings.and(Bindings.greaterThan(mSystemID, 0), Bindings.isNotNull(mApiKey)), Bindings.isNotNull(mHost))); + + if(mHost.getValue() == null || mHost.getValue().isEmpty()) + { + mHost.set("http://localhost"); + } } /** diff --git a/src/main/java/io/github/dsheirer/gui/playlist/streaming/RdioScannerEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/streaming/RdioScannerEditor.java index b56e44f9..a8207c6a 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/streaming/RdioScannerEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/streaming/RdioScannerEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2020 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,21 +20,16 @@ package io.github.dsheirer.gui.playlist.streaming; import io.github.dsheirer.audio.broadcast.BroadcastServerType; -import io.github.dsheirer.audio.broadcast.rdioscanner.RdioScannerBroadcaster; import io.github.dsheirer.audio.broadcast.rdioscanner.RdioScannerConfiguration; import io.github.dsheirer.gui.control.IntegerTextField; import io.github.dsheirer.playlist.PlaylistManager; import javafx.geometry.HPos; import javafx.geometry.Insets; -import javafx.scene.control.Alert; -import javafx.scene.control.Button; -import javafx.scene.control.ButtonType; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.controlsfx.control.ToggleSwitch; /** * RdioScanner calls API configuration editor @@ -42,6 +37,7 @@ import org.controlsfx.control.ToggleSwitch; public class RdioScannerEditor extends AbstractBroadcastEditor { private final static Logger mLog = LoggerFactory.getLogger(RdioScannerEditor.class); + private static final String API_PATH = "/api/call-upload"; private IntegerTextField mSystemIdTextField; private IntegerTextField mMaxAgeTextField; private TextField mApiKeyTextField; @@ -71,7 +67,14 @@ public class RdioScannerEditor extends AbstractBroadcastEditor