|
@@ -38,7 +38,7 @@ void SpircController::subscribe() {
|
|
|
}
|
|
|
|
|
|
void SpircController::setPause(bool isPaused, bool notifyPlayer) {
|
|
|
- sendEvent(CSpotEventType::PLAY_PAUSE, isPaused);
|
|
|
+ sendEvent(CSpotEventType::PLAY_PAUSE, isPaused);
|
|
|
if (isPaused) {
|
|
|
CSPOT_LOG(debug, "External pause command");
|
|
|
if (notifyPlayer) player->pause();
|
|
@@ -55,29 +55,29 @@ void SpircController::disconnect(void) {
|
|
|
player->cancelCurrentTrack();
|
|
|
state->setActive(false);
|
|
|
notify();
|
|
|
- // Send the event at the end at it might be a last gasp
|
|
|
- sendEvent(CSpotEventType::DISC);
|
|
|
+ // Send the event at the end at it might be a last gasp
|
|
|
+ sendEvent(CSpotEventType::DISC);
|
|
|
}
|
|
|
|
|
|
void SpircController::playToggle() {
|
|
|
- if (state->innerFrame.state->status.value() == PlayStatus::kPlayStatusPause) {
|
|
|
- setPause(false);
|
|
|
- } else {
|
|
|
- setPause(true);
|
|
|
- }
|
|
|
+ if (state->innerFrame.state->status.value() == PlayStatus::kPlayStatusPause) {
|
|
|
+ setPause(false);
|
|
|
+ } else {
|
|
|
+ setPause(true);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void SpircController::adjustVolume(int by) {
|
|
|
- if (state->innerFrame.device_state->volume.has_value()) {
|
|
|
- int volume = state->innerFrame.device_state->volume.value() + by;
|
|
|
- if (volume < 0) volume = 0;
|
|
|
- else if (volume > MAX_VOLUME) volume = MAX_VOLUME;
|
|
|
- setVolume(volume);
|
|
|
- }
|
|
|
+ if (state->innerFrame.device_state->volume.has_value()) {
|
|
|
+ int volume = state->innerFrame.device_state->volume.value() + by;
|
|
|
+ if (volume < 0) volume = 0;
|
|
|
+ else if (volume > MAX_VOLUME) volume = MAX_VOLUME;
|
|
|
+ setVolume(volume);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void SpircController::setVolume(int volume) {
|
|
|
- setRemoteVolume(volume);
|
|
|
+ setRemoteVolume(volume);
|
|
|
player->setVolume(volume);
|
|
|
configMan->save();
|
|
|
}
|
|
@@ -111,21 +111,21 @@ void SpircController::handleFrame(std::vector<uint8_t> &data) {
|
|
|
// Pause the playback if another player took control
|
|
|
if (state->isActive() &&
|
|
|
state->remoteFrame.device_state->is_active.value()) {
|
|
|
- disconnect();
|
|
|
+ disconnect();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
case MessageType::kMessageTypeSeek: {
|
|
|
CSPOT_LOG(debug, "Seek command");
|
|
|
- sendEvent(CSpotEventType::SEEK, (int) state->remoteFrame.position.value());
|
|
|
+ sendEvent(CSpotEventType::SEEK, (int) state->remoteFrame.position.value());
|
|
|
state->updatePositionMs(state->remoteFrame.position.value());
|
|
|
this->player->seekMs(state->remoteFrame.position.value());
|
|
|
notify();
|
|
|
break;
|
|
|
}
|
|
|
case MessageType::kMessageTypeVolume:
|
|
|
- sendEvent(CSpotEventType::VOLUME, (int) state->remoteFrame.volume.value());
|
|
|
- setVolume(state->remoteFrame.volume.value());
|
|
|
+ sendEvent(CSpotEventType::VOLUME, (int) state->remoteFrame.volume.value());
|
|
|
+ setVolume(state->remoteFrame.volume.value());
|
|
|
break;
|
|
|
case MessageType::kMessageTypePause:
|
|
|
setPause(true);
|
|
@@ -134,11 +134,11 @@ void SpircController::handleFrame(std::vector<uint8_t> &data) {
|
|
|
setPause(false);
|
|
|
break;
|
|
|
case MessageType::kMessageTypeNext:
|
|
|
- sendEvent(CSpotEventType::NEXT);
|
|
|
+ sendEvent(CSpotEventType::NEXT);
|
|
|
nextSong();
|
|
|
break;
|
|
|
case MessageType::kMessageTypePrev:
|
|
|
- sendEvent(CSpotEventType::PREV);
|
|
|
+ sendEvent(CSpotEventType::PREV);
|
|
|
prevSong();
|
|
|
break;
|
|
|
case MessageType::kMessageTypeLoad: {
|
|
@@ -182,7 +182,7 @@ void SpircController::handleFrame(std::vector<uint8_t> &data) {
|
|
|
}
|
|
|
|
|
|
void SpircController::loadTrack(uint32_t position_ms, bool isPaused) {
|
|
|
- sendEvent(CSpotEventType::LOAD, (int) position_ms);
|
|
|
+ sendEvent(CSpotEventType::LOAD, (int) position_ms);
|
|
|
state->setPlaybackState(PlaybackState::Loading);
|
|
|
std::function<void()> loadedLambda = [=]() {
|
|
|
// Loading finished, notify that playback started
|
|
@@ -201,7 +201,7 @@ void SpircController::sendEvent(CSpotEventType eventType, std::variant<TrackInfo
|
|
|
if (eventHandler != nullptr) {
|
|
|
CSpotEvent event = {
|
|
|
.eventType = eventType,
|
|
|
- .data = data,
|
|
|
+ .data = data,
|
|
|
};
|
|
|
|
|
|
eventHandler(event);
|
|
@@ -217,9 +217,9 @@ void SpircController::setEventHandler(cspotEventHandler callback) {
|
|
|
info.artist = track.artist;
|
|
|
info.imageUrl = track.imageUrl;
|
|
|
info.name = track.name;
|
|
|
- info.duration = track.duration;
|
|
|
+ info.duration = track.duration;
|
|
|
|
|
|
- this->sendEvent(CSpotEventType::TRACK_INFO, info);
|
|
|
+ this->sendEvent(CSpotEventType::TRACK_INFO, info);
|
|
|
});
|
|
|
}
|
|
|
|