mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-10 07:36:41 +02:00
Client.SetVolume expects "volume" json object
This commit is contained in:
parent
37ccdb92fb
commit
a133c60661
5 changed files with 19 additions and 43 deletions
|
@ -90,9 +90,9 @@ public class ClientItem extends LinearLayout implements SeekBar.OnSeekBarChangeL
|
|||
@Override
|
||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
||||
if (fromUser && (listener != null)) {
|
||||
Volume volume = new Volume(progress, false);
|
||||
client.setVolume(volume);
|
||||
listener.onVolumeChanged(this, volume.getPercent());
|
||||
Volume volume = client.getConfig().getVolume();
|
||||
volume.setPercent(progress);
|
||||
listener.onVolumeChanged(this, volume.getPercent(), volume.isMuted());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ public class ClientItem extends LinearLayout implements SeekBar.OnSeekBarChangeL
|
|||
Volume volume = client.getConfig().getVolume();
|
||||
volume.setMuted(!volume.isMuted());
|
||||
update();
|
||||
listener.onMute(this, volume.isMuted());
|
||||
listener.onVolumeChanged(this, volume.getPercent(), volume.isMuted());
|
||||
} else if (v == ibOverflow) {
|
||||
PopupMenu popup = new PopupMenu(v.getContext(), v);
|
||||
popup.getMenu().add(Menu.NONE, R.id.menu_details, 0, R.string.menu_details);
|
||||
|
@ -138,9 +138,7 @@ public class ClientItem extends LinearLayout implements SeekBar.OnSeekBarChangeL
|
|||
}
|
||||
|
||||
public interface ClientItemListener {
|
||||
void onVolumeChanged(ClientItem clientItem, int percent);
|
||||
|
||||
void onMute(ClientItem clientItem, boolean mute);
|
||||
void onVolumeChanged(ClientItem clientItem, int percent, boolean mute);
|
||||
|
||||
void onDeleteClicked(ClientItem clientItem);
|
||||
|
||||
|
|
|
@ -148,15 +148,9 @@ public class GroupItem extends LinearLayout implements SeekBar.OnSeekBarChangeLi
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onVolumeChanged(ClientItem clientItem, int percent) {
|
||||
public void onVolumeChanged(ClientItem clientItem, int percent, boolean mute) {
|
||||
if (listener != null)
|
||||
listener.onVolumeChanged(this, clientItem, percent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMute(ClientItem clientItem, boolean mute) {
|
||||
if (listener != null)
|
||||
listener.onMute(this, clientItem, mute);
|
||||
listener.onVolumeChanged(this, clientItem, percent, mute);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -173,9 +167,7 @@ public class GroupItem extends LinearLayout implements SeekBar.OnSeekBarChangeLi
|
|||
|
||||
|
||||
public interface GroupItemListener {
|
||||
void onVolumeChanged(GroupItem group, ClientItem clientItem, int percent);
|
||||
|
||||
void onMute(GroupItem group, ClientItem clientItem, boolean mute);
|
||||
void onVolumeChanged(GroupItem group, ClientItem clientItem, int percent, boolean mute);
|
||||
|
||||
void onDeleteClicked(GroupItem group, ClientItem clientItem);
|
||||
|
||||
|
|
|
@ -545,13 +545,8 @@ public class MainActivity extends AppCompatActivity implements GroupItem.GroupIt
|
|||
|
||||
|
||||
@Override
|
||||
public void onVolumeChanged(GroupItem groupItem, ClientItem clientItem, int percent) {
|
||||
remoteControl.setVolume(clientItem.getClient(), percent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMute(GroupItem groupItem, ClientItem clientItem, boolean mute) {
|
||||
remoteControl.setMute(clientItem.getClient(), mute);
|
||||
public void onVolumeChanged(GroupItem groupItem, ClientItem clientItem, int percent, boolean mute) {
|
||||
remoteControl.setVolume(clientItem.getClient(), percent, mute);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -32,6 +32,7 @@ import de.badaix.snapcast.control.json.Client;
|
|||
import de.badaix.snapcast.control.json.Group;
|
||||
import de.badaix.snapcast.control.json.ServerStatus;
|
||||
import de.badaix.snapcast.control.json.Stream;
|
||||
import de.badaix.snapcast.control.json.Volume;
|
||||
|
||||
/**
|
||||
* Created by johannes on 13.01.16.
|
||||
|
@ -238,18 +239,13 @@ public class RemoteControl implements TcpClient.TcpClientListener {
|
|||
}
|
||||
}
|
||||
|
||||
public void setVolume(Client client, int percent) {
|
||||
public void setVolume(Client client, int percent, boolean mute) {
|
||||
try {
|
||||
JSONObject request = jsonRequest("Client.SetVolume", new JSONObject("{\"client\": \"" + client.getId() + "\", \"volume\": " + percent + "}"));
|
||||
tcpClient.sendMessage(request.toString());
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setMute(Client client, boolean mute) {
|
||||
try {
|
||||
JSONObject request = jsonRequest("Client.SetMute", new JSONObject("{\"client\": \"" + client.getId() + "\", \"mute\": " + mute + "}"));
|
||||
Volume volume = new Volume(percent, mute);
|
||||
JSONObject body = new JSONObject();
|
||||
body.put("client", client.getId());
|
||||
body.put("volume", volume.toJson());
|
||||
JSONObject request = jsonRequest("Client.SetVolume", body);
|
||||
tcpClient.sendMessage(request.toString());
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -155,13 +155,8 @@ void StreamServer::onMessageReceived(ControlSession* controlSession, const std::
|
|||
}
|
||||
else if (request.method == "Client.SetVolume")
|
||||
{
|
||||
clientInfo->config.volume.percent = request.getParam<uint16_t>("volume", 0, 100);
|
||||
response = clientInfo->config.volume.percent;
|
||||
}
|
||||
else if (request.method == "Client.SetMute")
|
||||
{
|
||||
clientInfo->config.volume.muted = request.getParam<bool>("mute", false, true);
|
||||
response = clientInfo->config.volume.muted;
|
||||
clientInfo->config.volume.fromJson(request.getParam("volume"));
|
||||
response = clientInfo->config.volume.toJson();
|
||||
}
|
||||
else if (request.method == "Group.SetStream")
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue