1 /* GSequencer - Advanced GTK Sequencer
2  * Copyright (C) 2005-2020 Joël Krähemann
3  *
4  * This file is part of GSequencer.
5  *
6  * GSequencer is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * GSequencer is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with GSequencer.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #include <glib.h>
21 #include <glib-object.h>
22 
23 #include <ags/libags.h>
24 
25 #include <ags/audio/ags_sound_enums.h>
26 
27 /**
28  * SECTION:ags_sound_enums
29  * @short_description: sound enumerations
30  * @title: AgsSoundEnums
31  * @section_id:
32  * @include: ags/audio/ags_sound_enums.h
33  *
34  * Enumerations related to sound.
35  */
36 
37 GType
ags_sound_ability_flags_get_type()38 ags_sound_ability_flags_get_type()
39 {
40   static volatile gsize g_flags_type_id__volatile;
41 
42   if(g_once_init_enter (&g_flags_type_id__volatile)){
43     static const GFlagsValue values[] = {
44       { AGS_SOUND_ABILITY_PLAYBACK, "AGS_SOUND_ABILITY_PLAYBACK", "sound-ability-playback" },
45       { AGS_SOUND_ABILITY_SEQUENCER, "AGS_SOUND_ABILITY_SEQUENCER", "sound-ability-sequencer" },
46       { AGS_SOUND_ABILITY_NOTATION, "AGS_SOUND_ABILITY_NOTATION", "sound-ability-notation" },
47       { AGS_SOUND_ABILITY_WAVE, "AGS_SOUND_ABILITY_WAVE", "sound-ability-wave" },
48       { AGS_SOUND_ABILITY_MIDI, "AGS_SOUND_ABILITY_MIDI", "sound-ability-midi" },
49       { 0, NULL, NULL }
50     };
51 
52     GType g_flags_type_id = g_flags_register_static(g_intern_static_string("AgsSoundAbilityFlags"), values);
53 
54     g_once_init_leave (&g_flags_type_id__volatile, g_flags_type_id);
55   }
56 
57   return g_flags_type_id__volatile;
58 }
59 
60 GType
ags_sound_behaviour_flags_get_type()61 ags_sound_behaviour_flags_get_type()
62 {
63   static volatile gsize g_flags_type_id__volatile;
64 
65   if(g_once_init_enter (&g_flags_type_id__volatile)){
66     static const GFlagsValue values[] = {
67       { AGS_SOUND_BEHAVIOUR_PATTERN_MODE, "AGS_SOUND_BEHAVIOUR_PATTERN_MODE", "sound-behaviour-pattern-mode" },
68       { AGS_SOUND_BEHAVIOUR_BULK_MODE, "AGS_SOUND_BEHAVIOUR_BULK_MODE", "sound-behaviour-bulk-mode" },
69       { AGS_SOUND_BEHAVIOUR_REVERSE_MAPPING, "AGS_SOUND_BEHAVIOUR_REVERSE_MAPPING", "sound-behaviour-reverse-mapping" },
70       { AGS_SOUND_BEHAVIOUR_DEFAULTS_TO_OUTPUT, "AGS_SOUND_BEHAVIOUR_DEFAULTS_TO_OUTPUT", "sound-behaviour-defaults-to-output" },
71       { AGS_SOUND_BEHAVIOUR_DEFAULTS_TO_INPUT, "AGS_SOUND_BEHAVIOUR_DEFAULTS_TO_INPUT", "sound-behaviour-defaults-to-input" },
72       { AGS_SOUND_BEHAVIOUR_CHAINED_TO_OUTPUT, "AGS_SOUND_BEHAVIOUR_CHAINED_TO_OUTPUT", "sound-behaviour-chained-to-output" },
73       { AGS_SOUND_BEHAVIOUR_CHAINED_TO_INPUT, "AGS_SOUND_BEHAVIOUR_CHAINED_TO_INPUT", "sound-behaviour-chained-to-input" },
74       { AGS_SOUND_BEHAVIOUR_PERSISTENT, "AGS_SOUND_BEHAVIOUR_PERSISTENT", "sound-behaviour-persistent" },
75       { AGS_SOUND_BEHAVIOUR_PERSISTENT_PLAYBACK, "AGS_SOUND_BEHAVIOUR_PERSISTENT_PLAYBACK", "sound-behaviour-persistent-playback" },
76       { AGS_SOUND_BEHAVIOUR_PERSISTENT_NOTATION, "AGS_SOUND_BEHAVIOUR_PERSISTENT_NOTATION", "sound-behaviour-persistent-notation" },
77       { AGS_SOUND_BEHAVIOUR_PERSISTENT_SEQUENCER, "AGS_SOUND_BEHAVIOUR_PERSISTENT_SEQUENCER", "sound-behaviour-persistent-sequencer" },
78       { AGS_SOUND_BEHAVIOUR_PERSISTENT_WAVE, "AGS_SOUND_BEHAVIOUR_PERSISTENT_WAVE", "sound-behaviour-persistent-wave" },
79       { AGS_SOUND_BEHAVIOUR_PERSISTENT_MIDI, "AGS_SOUND_BEHAVIOUR_PERSISTENT_MIDI", "sound-behaviour-persistent-midi" },
80       { AGS_SOUND_BEHAVIOUR_PROPAGATE_DONE, "AGS_SOUND_BEHAVIOUR_PROPAGATE_DONE", "sound-behaviour-propagate-done" },
81       { 0, NULL, NULL }
82     };
83 
84     GType g_flags_type_id = g_flags_register_static(g_intern_static_string("AgsSoundBehaviourFlags"), values);
85 
86     g_once_init_leave (&g_flags_type_id__volatile, g_flags_type_id);
87   }
88 
89   return g_flags_type_id__volatile;
90 }
91 
92 GType
ags_sound_scope_get_type()93 ags_sound_scope_get_type()
94 {
95   static volatile gsize g_enum_type_id__volatile;
96 
97   if(g_once_init_enter (&g_enum_type_id__volatile)){
98     static const GEnumValue values[] = {
99       { AGS_SOUND_SCOPE_PLAYBACK, "AGS_SOUND_SCOPE_PLAYBACK", "sound-scope-playback" },
100       { AGS_SOUND_SCOPE_SEQUENCER, "AGS_SOUND_SCOPE_SEQUENCER", "sound-scope-sequencer" },
101       { AGS_SOUND_SCOPE_NOTATION, "AGS_SOUND_SCOPE_NOTATION", "sound-scope-notation" },
102       { AGS_SOUND_SCOPE_WAVE, "AGS_SOUND_SCOPE_WAVE", "sound-scope-wave" },
103       { AGS_SOUND_SCOPE_MIDI, "AGS_SOUND_SCOPE_MIDI", "sound-scope-midi" },
104       { AGS_SOUND_SCOPE_LAST, "AGS_SOUND_SCOPE_LAST", "sound-scope-last" },
105       { 0, NULL, NULL }
106     };
107 
108     GType g_enum_type_id = g_enum_register_static(g_intern_static_string("AgsSoundScope"), values);
109 
110     g_once_init_leave (&g_enum_type_id__volatile, g_enum_type_id);
111   }
112 
113   return g_enum_type_id__volatile;
114 }
115 
116 GType
ags_sound_staging_flags_get_type()117 ags_sound_staging_flags_get_type()
118 {
119   static volatile gsize g_flags_type_id__volatile;
120 
121   if(g_once_init_enter (&g_flags_type_id__volatile)){
122     static const GFlagsValue values[] = {
123       { AGS_SOUND_STAGING_CHECK_RT_DATA, "AGS_SOUND_STAGING_CHECK_RT_DATA", "sound-staging-check-rt-data" },
124       { AGS_SOUND_STAGING_RUN_INIT_PRE, "AGS_SOUND_STAGING_RUN_INIT_PRE", "sound-staging-run-init-pre" },
125       { AGS_SOUND_STAGING_RUN_INIT_INTER, "AGS_SOUND_STAGING_RUN_INIT_INTER", "sound-staging-run-init-inter" },
126       { AGS_SOUND_STAGING_RUN_INIT_POST, "AGS_SOUND_STAGING_RUN_INIT_POST", "sound-staging-run-init-post" },
127       { AGS_SOUND_STAGING_FEED_INPUT_QUEUE, "AGS_SOUND_STAGING_FEED_INPUT_QUEUE", "sound-staging-feed-input-queue" },
128       { AGS_SOUND_STAGING_AUTOMATE, "AGS_SOUND_STAGING_AUTOMATE", "sound-staging-automate" },
129       { AGS_SOUND_STAGING_RUN_PRE, "AGS_SOUND_STAGING_RUN_PRE", "sound-staging-run-pre" },
130       { AGS_SOUND_STAGING_RUN_INTER, "AGS_SOUND_STAGING_RUN_INTER", "sound-staging-run-inter" },
131       { AGS_SOUND_STAGING_RUN_POST, "AGS_SOUND_STAGING_RUN_POST", "sound-staging-run-post" },
132       { AGS_SOUND_STAGING_DO_FEEDBACK, "AGS_SOUND_STAGING_DO_FEEDBACK", "sound-staging-do-feedback" },
133       { AGS_SOUND_STAGING_FEED_OUTPUT_QUEUE, "AGS_SOUND_STAGING_FEED_OUTPUT_QUEUE", "sound-staging-feed-output-queue" },
134       { AGS_SOUND_STAGING_FINI, "AGS_SOUND_STAGING_FINI", "sound-staging-fini" },
135       { AGS_SOUND_STAGING_CANCEL, "AGS_SOUND_STAGING_CANCEL", "sound-staging-cancel" },
136       { AGS_SOUND_STAGING_DONE, "AGS_SOUND_STAGING_DONE", "sound-staging-done" },
137       { AGS_SOUND_STAGING_REMOVE, "AGS_SOUND_STAGING_REMOVE", "sound-staging-remove" },
138       { AGS_SOUND_STAGING_RESET, "AGS_SOUND_STAGING_RESET", "sound-staging-reset" },
139       { AGS_SOUND_STAGING_FX, "AGS_SOUND_STAGING_FX", "sound-staging-fx" },
140       { 0, NULL, NULL }
141     };
142 
143     GType g_flags_type_id = g_flags_register_static(g_intern_static_string("AgsSoundStagingFlags"), values);
144 
145     g_once_init_leave (&g_flags_type_id__volatile, g_flags_type_id);
146   }
147 
148   return g_flags_type_id__volatile;
149 }
150 
151 GType
ags_sound_state_flags_get_type()152 ags_sound_state_flags_get_type()
153 {
154   static volatile gsize g_flags_type_id__volatile;
155 
156   if(g_once_init_enter (&g_flags_type_id__volatile)){
157     static const GFlagsValue values[] = {
158       { AGS_SOUND_STATE_IS_WAITING, "AGS_SOUND_STATE_IS-WAITING", "sound-state-is-waiting" },
159       { AGS_SOUND_STATE_IS_ACTIVE, "AGS_SOUND_STATE_IS_ACTIVE", "sound-state-is-active" },
160       { AGS_SOUND_STATE_IS_PROCESSING, "AGS_SOUND_STATE_IS_PROCESSING", "sound-state-is-processing" },
161       { AGS_SOUND_STATE_IS_TERMINATING, "AGS_SOUND_STATE_IS_TERMINATING", "sound-state-is-terminating" },
162       { 0, NULL, NULL }
163     };
164 
165     GType g_flags_type_id = g_flags_register_static(g_intern_static_string("AgsSoundStateFlags"), values);
166 
167     g_once_init_leave (&g_flags_type_id__volatile, g_flags_type_id);
168   }
169 
170   return g_flags_type_id__volatile;
171 }
172 
173 GType
ags_sound_key_format_get_type()174 ags_sound_key_format_get_type()
175 {
176   static volatile gsize g_enum_type_id__volatile;
177 
178   if(g_once_init_enter (&g_enum_type_id__volatile)){
179     static const GEnumValue values[] = {
180       { AGS_SOUND_KEY_FORMAT_16TH, "AGS_SOUND_KEY_FORMAT_16TH", "sound-key-format-16th" },
181       { AGS_SOUND_KEY_FORMAT_256TH, "AGS_SOUND_KEY_FORMAT_256TH", "sound-key-format-256th" },
182       { 0, NULL, NULL }
183     };
184 
185     GType g_enum_type_id = g_enum_register_static(g_intern_static_string("AgsSoundKeyFormat"), values);
186 
187     g_once_init_leave (&g_enum_type_id__volatile, g_enum_type_id);
188   }
189 
190   return g_enum_type_id__volatile;
191 }
192