blob: a6eefa6123575fcc5d8c7e4727fa54bf0eeabc94 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
/*
* Copyright (C) 2005-2018 Team Kodi
* This file is part of Kodi - https://kodi.tv
*
* SPDX-License-Identifier: GPL-2.0-or-later
* See LICENSES/README.md for more information.
*/
#pragma once
#include "addons/binary-addons/AddonInstanceHandler.h"
#include "addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
namespace KODI
{
namespace ADDONS
{
class CVisualization : public ADDON::IAddonInstanceHandler
{
public:
CVisualization(const ADDON::AddonInfoPtr& addonInfo, float x, float y, float w, float h);
~CVisualization() override;
bool Start(int channels, int samplesPerSec, int bitsPerSample, const std::string& songName);
void Stop();
void AudioData(const float* audioData, int audioDataLength);
bool IsDirty();
void Render();
int GetSyncDelay();
bool NextPreset();
bool PrevPreset();
bool LoadPreset(int select);
bool RandomPreset();
bool LockPreset();
bool RatePreset(bool plus_minus);
bool UpdateAlbumart(const char* albumart);
bool UpdateTrack(const KODI_ADDON_VISUALIZATION_TRACK* track);
bool HasPresets();
bool GetPresetList(std::vector<std::string>& vecpresets);
int GetActivePreset();
std::string GetActivePresetName();
bool IsLocked();
// Addon callback functions
void GetProperties(struct KODI_ADDON_VISUALIZATION_PROPS* props);
void TransferPreset(const std::string& preset);
void ClearPresets();
private:
const int m_x;
const int m_y;
const int m_width;
const int m_height;
std::vector<std::string> m_presets; /*!< cached preset list */
};
} // namespace ADDONS
} // namespace KODI
|