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
|
@Override
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
||||||
if (fromUser && (listener != null)) {
|
if (fromUser && (listener != null)) {
|
||||||
Volume volume = new Volume(progress, false);
|
Volume volume = client.getConfig().getVolume();
|
||||||
client.setVolume(volume);
|
volume.setPercent(progress);
|
||||||
listener.onVolumeChanged(this, volume.getPercent());
|
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 volume = client.getConfig().getVolume();
|
||||||
volume.setMuted(!volume.isMuted());
|
volume.setMuted(!volume.isMuted());
|
||||||
update();
|
update();
|
||||||
listener.onMute(this, volume.isMuted());
|
listener.onVolumeChanged(this, volume.getPercent(), volume.isMuted());
|
||||||
} else if (v == ibOverflow) {
|
} else if (v == ibOverflow) {
|
||||||
PopupMenu popup = new PopupMenu(v.getContext(), v);
|
PopupMenu popup = new PopupMenu(v.getContext(), v);
|
||||||
popup.getMenu().add(Menu.NONE, R.id.menu_details, 0, R.string.menu_details);
|
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 {
|
public interface ClientItemListener {
|
||||||
void onVolumeChanged(ClientItem clientItem, int percent);
|
void onVolumeChanged(ClientItem clientItem, int percent, boolean mute);
|
||||||
|
|
||||||
void onMute(ClientItem clientItem, boolean mute);
|
|
||||||
|
|
||||||
void onDeleteClicked(ClientItem clientItem);
|
void onDeleteClicked(ClientItem clientItem);
|
||||||
|
|
||||||
|
|
|
@ -148,15 +148,9 @@ public class GroupItem extends LinearLayout implements SeekBar.OnSeekBarChangeLi
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onVolumeChanged(ClientItem clientItem, int percent) {
|
public void onVolumeChanged(ClientItem clientItem, int percent, boolean mute) {
|
||||||
if (listener != null)
|
if (listener != null)
|
||||||
listener.onVolumeChanged(this, clientItem, percent);
|
listener.onVolumeChanged(this, clientItem, percent, mute);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onMute(ClientItem clientItem, boolean mute) {
|
|
||||||
if (listener != null)
|
|
||||||
listener.onMute(this, clientItem, mute);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -173,9 +167,7 @@ public class GroupItem extends LinearLayout implements SeekBar.OnSeekBarChangeLi
|
||||||
|
|
||||||
|
|
||||||
public interface GroupItemListener {
|
public interface GroupItemListener {
|
||||||
void onVolumeChanged(GroupItem group, ClientItem clientItem, int percent);
|
void onVolumeChanged(GroupItem group, ClientItem clientItem, int percent, boolean mute);
|
||||||
|
|
||||||
void onMute(GroupItem group, ClientItem clientItem, boolean mute);
|
|
||||||
|
|
||||||
void onDeleteClicked(GroupItem group, ClientItem clientItem);
|
void onDeleteClicked(GroupItem group, ClientItem clientItem);
|
||||||
|
|
||||||
|
|
|
@ -545,13 +545,8 @@ public class MainActivity extends AppCompatActivity implements GroupItem.GroupIt
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onVolumeChanged(GroupItem groupItem, ClientItem clientItem, int percent) {
|
public void onVolumeChanged(GroupItem groupItem, ClientItem clientItem, int percent, boolean mute) {
|
||||||
remoteControl.setVolume(clientItem.getClient(), percent);
|
remoteControl.setVolume(clientItem.getClient(), percent, mute);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onMute(GroupItem groupItem, ClientItem clientItem, boolean mute) {
|
|
||||||
remoteControl.setMute(clientItem.getClient(), mute);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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.Group;
|
||||||
import de.badaix.snapcast.control.json.ServerStatus;
|
import de.badaix.snapcast.control.json.ServerStatus;
|
||||||
import de.badaix.snapcast.control.json.Stream;
|
import de.badaix.snapcast.control.json.Stream;
|
||||||
|
import de.badaix.snapcast.control.json.Volume;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by johannes on 13.01.16.
|
* 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 {
|
try {
|
||||||
JSONObject request = jsonRequest("Client.SetVolume", new JSONObject("{\"client\": \"" + client.getId() + "\", \"volume\": " + percent + "}"));
|
Volume volume = new Volume(percent, mute);
|
||||||
tcpClient.sendMessage(request.toString());
|
JSONObject body = new JSONObject();
|
||||||
} catch (JSONException e) {
|
body.put("client", client.getId());
|
||||||
e.printStackTrace();
|
body.put("volume", volume.toJson());
|
||||||
}
|
JSONObject request = jsonRequest("Client.SetVolume", body);
|
||||||
}
|
|
||||||
|
|
||||||
public void setMute(Client client, boolean mute) {
|
|
||||||
try {
|
|
||||||
JSONObject request = jsonRequest("Client.SetMute", new JSONObject("{\"client\": \"" + client.getId() + "\", \"mute\": " + mute + "}"));
|
|
||||||
tcpClient.sendMessage(request.toString());
|
tcpClient.sendMessage(request.toString());
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
|
@ -155,13 +155,8 @@ void StreamServer::onMessageReceived(ControlSession* controlSession, const std::
|
||||||
}
|
}
|
||||||
else if (request.method == "Client.SetVolume")
|
else if (request.method == "Client.SetVolume")
|
||||||
{
|
{
|
||||||
clientInfo->config.volume.percent = request.getParam<uint16_t>("volume", 0, 100);
|
clientInfo->config.volume.fromJson(request.getParam("volume"));
|
||||||
response = clientInfo->config.volume.percent;
|
response = clientInfo->config.volume.toJson();
|
||||||
}
|
|
||||||
else if (request.method == "Client.SetMute")
|
|
||||||
{
|
|
||||||
clientInfo->config.volume.muted = request.getParam<bool>("mute", false, true);
|
|
||||||
response = clientInfo->config.volume.muted;
|
|
||||||
}
|
}
|
||||||
else if (request.method == "Group.SetStream")
|
else if (request.method == "Group.SetStream")
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue