1 /* WEED is free software; you can redistribute it and/or
2    modify it under the terms of the GNU Lesser General Public
3    License as published by the Free Software Foundation; either
4    version 3 of the License, or (at your option) any later version.
5 
6    Weed is distributed in the hope that it will be useful,
7    but WITHOUT ANY WARRANTY; without even the implied warranty of
8    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
9    Lesser General Public License for more details.
10 
11    You should have received a copy of the GNU Lesser General Public
12    License along with this source code; if not, write to the Free Software
13    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
14 
15    Weed events is developed by:
16 
17    Gabriel "Salsaman" Finch - http://lives-video.com
18 */
19 
20 #ifndef __WEED_EVENTS_H__
21 #define __WEED_EVENTS_H__
22 
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif /* __cplusplus */
27 
28 #define WEED_EVENT_API_VERSION 123
29 #define WEED_EVENT_API_VERSION_123
30 
31 #define WEED_PLANT_EVENT 256
32 #define WEED_PLANT_EVENT_LIST 257
33 
34 #define WEED_EVENT_TYPE_UNDEFINED 0
35 #define WEED_EVENT_TYPE_FRAME 1
36 #define WEED_EVENT_TYPE_FILTER_INIT 2
37 #define WEED_EVENT_TYPE_FILTER_DEINIT 3
38 #define WEED_EVENT_TYPE_FILTER_MAP 4
39 #define WEED_EVENT_TYPE_PARAM_CHANGE 5
40 #define WEED_EVENT_TYPE_MARKER 6
41 
42 #ifndef WEED_AUDIO_LITTLE_ENDIAN
43 #define WEED_AUDIO_LITTLE_ENDIAN 0
44 #endif
45 
46 #ifndef WEED_AUDIO_BIG_ENDIAN
47 #define WEED_AUDIO_BIG_ENDIAN 1
48 #endif
49 
50 // event_list
51 #define WEED_LEAF_WEED_EVENT_API_VERSION "weed_event_api_version"
52 #define WEED_LEAF_AUTHOR "author"
53 #define WEED_LEAF_TITLE "title"
54 #define WEED_LEAF_COMMENTS "comments"
55 #define WEED_LEAF_LIVES_CREATED_VERSION "created_version"
56 #define WEED_LEAF_LIVES_EDITED_VERSION "edited_version"
57 
58 #ifndef WEED_LEAF_FPS
59 #define WEED_LEAF_FPS "fps"
60 #endif
61 
62 #ifndef WEED_LEAF_WIDTH
63 #define WEED_LEAF_WIDTH "width"
64 #endif
65 
66 #ifndef WEED_LEAF_HEIGHT
67 #define WEED_LEAF_HEIGHT  "height"
68 #endif
69 
70 #ifndef WEED_LEAF_AUDIO_CHANNELS
71 #define WEED_LEAF_AUDIO_CHANNELS "audio_channels"
72 #endif
73 
74 #ifndef WEED_LEAF_AUDIO_RATE
75 #define WEED_LEAF_AUDIO_RATE "audio_rate"
76 #endif
77 
78 #define WEED_LEAF_AUDIO_SAMPLE_SIZE "audio_sample_size"
79 #define WEED_LEAF_AUDIO_SIGNED "audio_signed"
80 #define WEED_LEAF_AUDIO_ENDIAN "audio_endian"
81 #define WEED_LEAF_AUDIO_VOLUME_TRACKS "audio_volume_tracks"
82 #define WEED_LEAF_AUDIO_VOLUME_VALUES "audio_volume_values"
83 #define WEED_LEAF_TRACK_LABEL_TRACKS "track_label_tracks"
84 #define WEED_LEAF_TRACK_LABEL_VALUES "track_label_values"
85 
86 #define WEED_LEAF_KEEP_ASPECT "keep_aspect"
87 
88 #define WEED_LEAF_EVENT_TYPE "event_type"
89 #define WEED_LEAF_TIMECODE "timecode"
90 
91 // frame event
92 #define WEED_LEAF_CLIPS "clips"
93 #define WEED_LEAF_FRAMES "frames"
94 #define WEED_LEAF_AUDIO_CLIPS "audio_clips"
95 #define WEED_LEAF_AUDIO_SEEKS "audio_seeks"
96 
97 // init_event
98 #define WEED_LEAF_FILTER "filter"
99 #define WEED_LEAF_IN_COUNT "in_count"
100 #define WEED_LEAF_OUT_COUNT "out_count"
101 #define WEED_LEAF_IN_TRACKS "in_tracks"
102 #define WEED_LEAF_OUT_TRACKS "out_tracks"
103 #define WEED_LEAF_EVENT_ID "event_id"
104 
105 // deinit / param_change
106 #define WEED_LEAF_INIT_EVENT "init_event"
107 
108 // filter map
109 #define WEED_LEAF_INIT_EVENTS "init_events"
110 
111 // param change
112 #define WEED_LEAF_INDEX "index"
113 
114 #ifndef WEED_LEAF_VALUE
115 #define WEED_LEAF_VALUE "value"
116 #endif
117 
118 #define WEED_LEAF_IGNORE "ignore"
119 
120 #ifdef __cplusplus
121 }
122 #endif /* __cplusplus */
123 
124 #endif // #ifndef __WEED_EVENTS_H_
125