feat: stream currently playing + volume + toggle pause + seek position
This commit is contained in:
@@ -1,13 +1,18 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import 'google/protobuf/empty.proto';
|
||||
import 'library.proto';
|
||||
|
||||
package player;
|
||||
|
||||
service Player {
|
||||
rpc PlayTrack(PlayTrackRequest) returns (PlayTrackResponse);
|
||||
rpc ResumeTrack(google.protobuf.Empty) returns (google.protobuf.Empty);
|
||||
rpc PauseTrack(google.protobuf.Empty) returns (google.protobuf.Empty);
|
||||
rpc ResumeTrack(google.protobuf.Empty) returns (PauseState);
|
||||
rpc PauseTrack(google.protobuf.Empty) returns (PauseState);
|
||||
rpc TogglePause(google.protobuf.Empty) returns (PauseState);
|
||||
rpc GetStatus(google.protobuf.Empty) returns (stream PlayerStatus);
|
||||
rpc SeekPosition(SeekPositionRequest) returns (SeekPositionResponse);
|
||||
rpc SetVolume(SetVolumeRequest) returns (SetVolumeResponse);
|
||||
}
|
||||
|
||||
message PlayTrackRequest {
|
||||
@@ -15,4 +20,33 @@ message PlayTrackRequest {
|
||||
}
|
||||
|
||||
message PlayTrackResponse {
|
||||
library.Track track = 1;
|
||||
uint64 position = 2;
|
||||
}
|
||||
|
||||
message PlayerStatus {
|
||||
optional library.Track currently_playing = 1;
|
||||
bool is_paused = 2;
|
||||
float volume = 3;
|
||||
uint64 progress = 4;
|
||||
}
|
||||
|
||||
message PauseState {
|
||||
bool is_paused = 1;
|
||||
}
|
||||
|
||||
message SeekPositionRequest {
|
||||
uint64 position = 1;
|
||||
}
|
||||
|
||||
message SeekPositionResponse {
|
||||
uint64 position = 1;
|
||||
}
|
||||
|
||||
message SetVolumeRequest {
|
||||
float volume = 1;
|
||||
}
|
||||
|
||||
message SetVolumeResponse {
|
||||
float volume = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user