summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/visualization.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/visualization.h')
-rw-r--r--xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/visualization.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/visualization.h b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/visualization.h
new file mode 100644
index 0000000..913aad8
--- /dev/null
+++ b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/visualization.h
@@ -0,0 +1,117 @@
1/*
2 * Copyright (C) 2005-2020 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#pragma once
10
11#include "../addon_base.h"
12
13#define VIZ_LYRICS_SIZE 32768
14
15#ifdef __cplusplus
16extern "C"
17{
18#endif /* __cplusplus */
19
20 struct VIS_INFO
21 {
22 bool bWantsFreq;
23 int iSyncDelay;
24 };
25
26 struct VIS_TRACK
27 {
28 const char *title;
29 const char *artist;
30 const char *album;
31 const char *albumArtist;
32 const char *genre;
33 const char *comment;
34 const char *lyrics;
35
36 const char *reserved1;
37 const char *reserved2;
38
39 int trackNumber;
40 int discNumber;
41 int duration;
42 int year;
43 int rating;
44
45 int reserved3;
46 int reserved4;
47 };
48
49 typedef struct AddonProps_Visualization
50 {
51 ADDON_HARDWARE_CONTEXT device;
52 int x;
53 int y;
54 int width;
55 int height;
56 float pixelRatio;
57 const char* name;
58 const char* presets;
59 const char* profile;
60 } AddonProps_Visualization;
61
62 typedef struct AddonToKodiFuncTable_Visualization
63 {
64 KODI_HANDLE kodiInstance;
65 void(__cdecl* transfer_preset)(KODI_HANDLE kodiInstance, const char* preset);
66 void(__cdecl* clear_presets)(KODI_HANDLE kodiInstance);
67 } AddonToKodiFuncTable_Visualization;
68
69 struct AddonInstance_Visualization;
70
71 typedef struct KodiToAddonFuncTable_Visualization
72 {
73 KODI_HANDLE addonInstance;
74 bool(__cdecl* start)(const struct AddonInstance_Visualization* instance,
75 int channels,
76 int samples_per_sec,
77 int bits_per_sample,
78 const char* song_name);
79 void(__cdecl* stop)(const struct AddonInstance_Visualization* instance);
80
81 void(__cdecl* get_info)(const struct AddonInstance_Visualization* instance,
82 struct VIS_INFO* info);
83
84 void(__cdecl* audio_data)(const struct AddonInstance_Visualization* instance,
85 const float* audio_data,
86 int audio_data_length,
87 float* freq_data,
88 int freq_data_length);
89 bool(__cdecl* is_dirty)(const struct AddonInstance_Visualization* instance);
90 void(__cdecl* render)(const struct AddonInstance_Visualization* instance);
91
92 unsigned int(__cdecl* get_presets)(const struct AddonInstance_Visualization* instance);
93 int(__cdecl* get_active_preset)(const struct AddonInstance_Visualization* instance);
94 bool(__cdecl* prev_preset)(const struct AddonInstance_Visualization* instance);
95 bool(__cdecl* next_preset)(const struct AddonInstance_Visualization* instance);
96 bool(__cdecl* load_preset)(const struct AddonInstance_Visualization* instance, int select);
97 bool(__cdecl* random_preset)(const struct AddonInstance_Visualization* instance);
98 bool(__cdecl* lock_preset)(const struct AddonInstance_Visualization* instance);
99 bool(__cdecl* rate_preset)(const struct AddonInstance_Visualization* instance, bool plus_minus);
100 bool(__cdecl* is_locked)(const struct AddonInstance_Visualization* instance);
101
102 bool(__cdecl* update_albumart)(const struct AddonInstance_Visualization* instance,
103 const char* albumart);
104 bool(__cdecl* update_track)(const struct AddonInstance_Visualization* instance,
105 const struct VIS_TRACK* track);
106 } KodiToAddonFuncTable_Visualization;
107
108 typedef struct AddonInstance_Visualization
109 {
110 struct AddonProps_Visualization* props;
111 struct AddonToKodiFuncTable_Visualization* toKodi;
112 struct KodiToAddonFuncTable_Visualization* toAddon;
113 } AddonInstance_Visualization;
114
115#ifdef __cplusplus
116} /* extern "C" */
117#endif /* __cplusplus */