summaryrefslogtreecommitdiff
path: root/src/components/ble/MusicService.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ble/MusicService.h')
-rw-r--r--src/components/ble/MusicService.h74
1 files changed, 20 insertions, 54 deletions
diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h
index 5f5343e4..1ad9a420 100644
--- a/src/components/ble/MusicService.h
+++ b/src/components/ble/MusicService.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2020 JF, Adam Pigg, Avamander
+/* Copyright (C) 2020-2021 JF, Adam Pigg, Avamander
This file is part of InfiniTime.
@@ -26,16 +26,11 @@
#undef max
#undef min
-// 00000000-78fc-48fe-8e23-433b3a1942d0
-#define MUSIC_SERVICE_UUID_BASE \
- { 0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0x00, 0x00 }
-
namespace Pinetime {
namespace System {
class SystemTask;
}
namespace Controllers {
-
class MusicService {
public:
explicit MusicService(Pinetime::System::SystemTask& system);
@@ -46,19 +41,19 @@ namespace Pinetime {
void event(char event);
- std::string getArtist();
+ std::string getArtist() const;
- std::string getTrack();
+ std::string getTrack() const;
- std::string getAlbum();
+ std::string getAlbum() const;
- int getProgress();
+ int getProgress() const;
- int getTrackLength();
+ int getTrackLength() const;
- float getPlaybackSpeed();
+ float getPlaybackSpeed() const;
- bool isPlaying();
+ bool isPlaying() const;
static const char EVENT_MUSIC_OPEN = 0xe0;
static const char EVENT_MUSIC_PLAY = 0x00;
@@ -71,55 +66,26 @@ namespace Pinetime {
enum MusicStatus { NotPlaying = 0x00, Playing = 0x01 };
private:
- static constexpr uint8_t msId[2] = {0x00, 0x00};
- static constexpr uint8_t msEventCharId[2] = {0x01, 0x00};
- static constexpr uint8_t msStatusCharId[2] = {0x02, 0x00};
- static constexpr uint8_t msArtistCharId[2] = {0x03, 0x00};
- static constexpr uint8_t msTrackCharId[2] = {0x04, 0x00};
- static constexpr uint8_t msAlbumCharId[2] = {0x05, 0x00};
- static constexpr uint8_t msPositionCharId[2] = {0x06, 0x00};
- static constexpr uint8_t msTotalLengthCharId[2] = {0x07, 0x00};
- static constexpr uint8_t msTrackNumberCharId[2] = {0x08, 0x00};
- static constexpr uint8_t msTrackTotalCharId[2] = {0x09, 0x00};
- static constexpr uint8_t msPlaybackSpeedCharId[2] = {0x0a, 0x00};
- static constexpr uint8_t msRepeatCharId[2] = {0x0b, 0x00};
- static constexpr uint8_t msShuffleCharId[2] = {0x0c, 0x00};
-
- ble_uuid128_t msUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
-
- ble_uuid128_t msEventCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msStatusCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msArtistCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msTrackCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msAlbumCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msPositionCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msTotalLengthCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msTrackNumberCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msTrackTotalCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msPlaybackSpeedCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msRepeatCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
- ble_uuid128_t msShuffleCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = MUSIC_SERVICE_UUID_BASE};
-
struct ble_gatt_chr_def characteristicDefinition[14];
struct ble_gatt_svc_def serviceDefinition[2];
- uint16_t eventHandle;
+ uint16_t eventHandle {};
- std::string artistName;
- std::string albumName;
- std::string trackName;
+ std::string artistName {"Waiting for"};
+ std::string albumName {};
+ std::string trackName {"track information.."};
- bool playing;
+ bool playing {false};
- int trackProgress;
- int trackLength;
- int trackNumber;
- int tracksTotal;
+ int trackProgress {0};
+ int trackLength {0};
+ int trackNumber {};
+ int tracksTotal {};
- float playbackSpeed;
+ float playbackSpeed {1.0f};
- bool repeat;
- bool shuffle;
+ bool repeat {false};
+ bool shuffle {false};
Pinetime::System::SystemTask& m_system;
};