1#![allow(missing_docs)]
7
8use fmod_sys::*;
9use std::ffi::c_uint;
10
11bitflags::bitflags! {
12 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
14 pub struct InitFlags: c_uint {
15 const NORMAL = FMOD_STUDIO_INIT_NORMAL;
17 const LIVEUPDATE = FMOD_STUDIO_INIT_LIVEUPDATE;
19 const ALLOW_MISSING_PLUGINS = FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS;
21 const SYNCHRONOUS_UPDATE = FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE;
26 const DEFERRED_CALLBACKS = FMOD_STUDIO_INIT_DEFERRED_CALLBACKS;
28 const LOAD_FROM_UPDATE = FMOD_STUDIO_INIT_LOAD_FROM_UPDATE;
30 const MEMORY_TRACKING = FMOD_STUDIO_INIT_MEMORY_TRACKING;
32 }
33}
34
35impl From<FMOD_STUDIO_INITFLAGS> for InitFlags {
36 fn from(value: FMOD_STUDIO_INITFLAGS) -> Self {
37 InitFlags::from_bits_truncate(value)
38 }
39}
40
41impl From<InitFlags> for FMOD_STUDIO_INITFLAGS {
42 fn from(value: InitFlags) -> Self {
43 value.bits()
44 }
45}
46
47bitflags::bitflags! {
48 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
50 pub struct LoadBankFlags: c_uint {
51 const NORMAL = FMOD_STUDIO_LOAD_BANK_NORMAL;
53 const NONBLOCKING = FMOD_STUDIO_LOAD_BANK_NONBLOCKING;
55 const DECOMPRESS_SAMPLES = FMOD_STUDIO_LOAD_BANK_DECOMPRESS_SAMPLES;
57 const UNENCRYPTED = FMOD_STUDIO_LOAD_BANK_UNENCRYPTED;
59 }
60}
61
62impl From<FMOD_STUDIO_LOAD_BANK_FLAGS> for LoadBankFlags {
63 fn from(value: FMOD_STUDIO_LOAD_BANK_FLAGS) -> Self {
64 LoadBankFlags::from_bits_truncate(value)
65 }
66}
67
68impl From<LoadBankFlags> for FMOD_STUDIO_LOAD_BANK_FLAGS {
69 fn from(value: LoadBankFlags) -> Self {
70 value.bits()
71 }
72}
73
74bitflags::bitflags! {
75 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
77 pub struct ParameterFlags: c_uint {
78 const READONLY = FMOD_STUDIO_PARAMETER_READONLY;
80 const AUTOMATIC = FMOD_STUDIO_PARAMETER_AUTOMATIC;
82 const GLOBAL = FMOD_STUDIO_PARAMETER_GLOBAL;
84 const DISCRETE = FMOD_STUDIO_PARAMETER_DISCRETE;
86 const LABELED = FMOD_STUDIO_PARAMETER_LABELED;
90 }
91}
92
93impl From<FMOD_STUDIO_PARAMETER_FLAGS> for ParameterFlags {
94 fn from(value: FMOD_STUDIO_PARAMETER_FLAGS) -> Self {
95 ParameterFlags::from_bits_truncate(value)
96 }
97}
98
99impl From<ParameterFlags> for FMOD_STUDIO_PARAMETER_FLAGS {
100 fn from(value: ParameterFlags) -> Self {
101 value.bits()
102 }
103}
104
105bitflags::bitflags! {
106 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
108 pub struct CommandCaptureFlags: c_uint {
109 const NORMAL = FMOD_STUDIO_COMMANDCAPTURE_NORMAL;
111 const FILE_FLUSH = FMOD_STUDIO_COMMANDCAPTURE_FILEFLUSH;
113 const SKIP_INITIAL_STATE = FMOD_STUDIO_COMMANDCAPTURE_SKIP_INITIAL_STATE;
115 }
116}
117
118impl From<FMOD_STUDIO_COMMANDCAPTURE_FLAGS> for CommandCaptureFlags {
119 fn from(value: FMOD_STUDIO_COMMANDCAPTURE_FLAGS) -> Self {
120 CommandCaptureFlags::from_bits_truncate(value)
121 }
122}
123
124impl From<CommandCaptureFlags> for FMOD_STUDIO_COMMANDCAPTURE_FLAGS {
125 fn from(value: CommandCaptureFlags) -> Self {
126 value.bits()
127 }
128}
129
130bitflags::bitflags! {
131 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
133 pub struct CommandReplayFlags: c_uint {
134 const NORMAL = FMOD_STUDIO_COMMANDCAPTURE_NORMAL;
136 const SKIP_CLEANUP = FMOD_STUDIO_COMMANDREPLAY_SKIP_CLEANUP;
138 const FAST_FORWARD = FMOD_STUDIO_COMMANDREPLAY_FAST_FORWARD;
140 const SKIP_BANK_LOAD = FMOD_STUDIO_COMMANDREPLAY_SKIP_BANK_LOAD;
142 }
143}
144
145impl From<FMOD_STUDIO_COMMANDREPLAY_FLAGS> for CommandReplayFlags {
146 fn from(value: FMOD_STUDIO_COMMANDREPLAY_FLAGS) -> Self {
147 CommandReplayFlags::from_bits_truncate(value)
148 }
149}
150
151impl From<CommandReplayFlags> for FMOD_STUDIO_COMMANDREPLAY_FLAGS {
152 fn from(value: CommandReplayFlags) -> Self {
153 value.bits()
154 }
155}
156
157bitflags::bitflags! {
158 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
160 pub struct EventCallbackMask: c_uint {
161 const CREATED = FMOD_STUDIO_EVENT_CALLBACK_CREATED;
162 const DESTROYED = FMOD_STUDIO_EVENT_CALLBACK_DESTROYED;
163 const STARTING = FMOD_STUDIO_EVENT_CALLBACK_STARTING;
164 const STARTED = FMOD_STUDIO_EVENT_CALLBACK_STARTED;
165 const RESTARTED = FMOD_STUDIO_EVENT_CALLBACK_RESTARTED;
166 const STOPPED = FMOD_STUDIO_EVENT_CALLBACK_STOPPED;
167 const START_FAILED = FMOD_STUDIO_EVENT_CALLBACK_START_FAILED;
168 const CREATE_PROGRAMMER_SOUND = FMOD_STUDIO_EVENT_CALLBACK_CREATE_PROGRAMMER_SOUND;
169 const DESTROY_PROGRAMMER_SOUND = FMOD_STUDIO_EVENT_CALLBACK_DESTROY_PROGRAMMER_SOUND;
170 const PLUGIN_CREATED = FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_CREATED;
171 const PLUGIN_DESTROYED = FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_DESTROYED;
172 const TIMELINE_MARKER = FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER;
173 const TIMELINE_BEAT = FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT;
174 const SOUND_PLAYED = FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED;
175 const SOUND_STOPPED = FMOD_STUDIO_EVENT_CALLBACK_SOUND_STOPPED;
176 const REAL_TO_VIRTUAL = FMOD_STUDIO_EVENT_CALLBACK_REAL_TO_VIRTUAL;
177 const VIRTUAL_TO_REAL = FMOD_STUDIO_EVENT_CALLBACK_VIRTUAL_TO_REAL;
178 const START_EVENT_COMMAND = FMOD_STUDIO_EVENT_CALLBACK_START_EVENT_COMMAND;
179 const NESTED_TIMELINE_BEAT = FMOD_STUDIO_EVENT_CALLBACK_NESTED_TIMELINE_BEAT;
180 const ALL = FMOD_STUDIO_EVENT_CALLBACK_ALL;
181 }
182}
183
184impl From<FMOD_STUDIO_EVENT_CALLBACK_TYPE> for EventCallbackMask {
185 fn from(value: FMOD_STUDIO_EVENT_CALLBACK_TYPE) -> Self {
186 EventCallbackMask::from_bits_truncate(value)
187 }
188}
189
190impl From<EventCallbackMask> for FMOD_STUDIO_EVENT_CALLBACK_TYPE {
191 fn from(value: EventCallbackMask) -> Self {
192 value.bits()
193 }
194}
195
196bitflags::bitflags! {
197 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
199 pub struct SystemCallbackMask: c_uint {
200 const PREUPDATE = FMOD_STUDIO_SYSTEM_CALLBACK_PREUPDATE;
201 const POSTUPDATE = FMOD_STUDIO_SYSTEM_CALLBACK_POSTUPDATE;
202 const BANK_UNLOAD = FMOD_STUDIO_SYSTEM_CALLBACK_BANK_UNLOAD;
203 const LIVEUPDATE_CONNECTED = FMOD_STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_CONNECTED;
204 const LIVEUPDATE_DISCONNECTED = FMOD_STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_DISCONNECTED;
205 }
206}
207
208impl From<FMOD_STUDIO_SYSTEM_CALLBACK_TYPE> for SystemCallbackMask {
209 fn from(value: FMOD_STUDIO_SYSTEM_CALLBACK_TYPE) -> Self {
210 SystemCallbackMask::from_bits_truncate(value)
211 }
212}
213
214impl From<SystemCallbackMask> for FMOD_STUDIO_SYSTEM_CALLBACK_TYPE {
215 fn from(value: SystemCallbackMask) -> Self {
216 value.bits()
217 }
218}