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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
/*
* libsvi
*
* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
*
* Contact: Seokkyu Jang <seokkyu.jang@samsung.com>
* Contact: Sangil Yoon <si83.yoon@samsung.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
/**
*
* @ingroup SLP_PG
* @defgroup SVI_PG SVI
@{
@par SVI Programming Guide
<h1 class="pg">Brief Information</h1>
- Sound & Vibration UI
- Convenient API
- Header File : svi.h
<h1 class="pg"> Introduction</h1>
<h2 class="pg"> Purpose of this document</h2>
The purpose of this document is to describe how applications can use Sound and Vibration Interface Library APIs.\n
This document gives only programming guidelines to application engineers.
<h2 class="pg"> Scope</h2>
The scope of this document is limited to Samsung platform Sound and Vibration Interface Library API usage.
<h1 class="pg"> Architecture</h1>
<h2 class="pg"> Architecture overview</h2>
Sound and Vibration Interface Library (SVI) is responsible for playing simple sound and vibration.\n
SVI play sound using mm-sound library and play vibration with device framework.
@image html svi.png "SVI diagram"
<h2 class="pg"> SLP Features</h2>
Sound and Vibration Interface Library has the following features:\n
- Play Sound
- It can play simple sound with predefined key.
- Play Vibration
- It can play simple vibration with predefined key.
<h2 class="pg">API list and description</h2>
- int svi_init(int *handle)
- Unload sound profile and status, and close haptic device.
- int svi_fini(int handle)
- Finalize audio ui library.
- Unload sound profile and status, and close haptic device.
- int svi_play_sound(int handle, sound_type sound_key)
- Play simple sound.
- int svi_play_vib(int handle, vibration_type vibration_key)
- Play simple vibration.
- int svi_play(int handle, vibration_type vibration_key, sound_type sound_key)
- Play simple sound and vibration.
<h1 class="pg">Programming with Sound & Vibration UI</h1>
<h2 class="pg">Defines</h2>
@code
#define SVI_SUCCESS 0
#define SVI_ERROR -1
@endcode
<h2 class="pg">Functions</h2>
@code
int svi_init(int *handle)
int svi_fini(int handle)
int svi_play_sound(int handle, sound_type sound_key)
int svi_play_vib(int handle, vibration_type vibration_key)
int svi_play(int handle, vibration_type vibration_key, sound_type sound_key)
@endcode
<h2 class="pg">Example code</h2>
@code
#include <svi.h>
int r = 0;
int handle = 0;
r = svi_init(&handle);
if (r != SVI_SUCCESS){
printf("Cannot initialize svi.\n");
} else {
r = svi_play (handle, SVI_VIB_TOUCH, SVI_SND_TOUCH1);
if (r != SVI_SUCCESS) {
printf("Cannot play sound or vibration.\n");
}
r = svi_play_sound (handle, SVI_SND_TOUCH1);
if (r != SVI_SUCCESS) {
printf("Cannot play sound.\n");
}
r = svi_play_vib (handle, SVI_VIB_TOUCH);
if (r != SVI_SUCCESS) {
printf("Cannot play vibration.\n");
}
r = svi_fini(handle);
if (r != SVI_SUCCESS) {
printf("Cannot close svi.\n");
}
}
@endcode
<h2 class="pg">Vibration IDs</h2>
@code
SVI_VIB_TOUCH_TOUCH
SVI_VIB_TOUCH_SIP
SVI_VIB_TOUCH_HOLD
SVI_VIB_TOUCH_MULTI_TAP
SVI_VIB_TOUCH_HW_TAP
SVI_VIB_TOUCH_HW_HOLD
SVI_VIB_TOUCH_KEY00
SVI_VIB_TOUCH_KEY01
SVI_VIB_TOUCH_KEY02
SVI_VIB_TOUCH_KEY03
SVI_VIB_TOUCH_KEY04
SVI_VIB_TOUCH_KEY05
SVI_VIB_TOUCH_KEY06
SVI_VIB_TOUCH_KEY07
SVI_VIB_TOUCH_KEY08
SVI_VIB_TOUCH_KEY09
SVI_VIB_TOUCH_KEY_STAR
SVI_VIB_TOUCH_KEY_SHARP
SVI_VIB_NOTIFICATION_INCOMING_CALL01
SVI_VIB_NOTIFICATION_INCOMING_CALL02
SVI_VIB_NOTIFICATION_INCOMING_CALL03
SVI_VIB_NOTIFICATION_MESSAGE
SVI_VIB_NOTIFICATION_EMAIL
SVI_VIB_NOTIFICATION_WAKEUP
SVI_VIB_NOTIFICATION_SCHEDULE
SVI_VIB_NOTIFICATION_TIMER
SVI_VIB_NOTIFICATION_GENERAL
SVI_VIB_OPERATION_POWER_ON
SVI_VIB_OPERATION_POWER_OFF
SVI_VIB_OPERATION_CHARGERCONN
SVI_VIB_OPERATION_FULLCHARGED
SVI_VIB_OPERATION_LOWBATT
SVI_VIB_OPERATION_LOCK
SVI_VIB_OPERATION_UNLOCK
SVI_VIB_OPERATION_CALLCONNECT
SVI_VIB_OPERATION_DISCALLCONNECT
SVI_VIB_OPERATION_MINUTEMINDER
SVI_VIB_OPERATION_VIBRATION
SVI_VIB_OPERATION_NEWCHAT
SVI_VIB_OPERATION_SENDCHAT
SVI_VIB_OPERATION_ONOFFSLIDER
SVI_VIB_OPERATION_SHUTTER
@endcode
<h2 class="pg">Sound IDs</h2>
@code
SVI_SND_TOUCH_TOUCH1
SVI_SND_TOUCH_TOUCH2
SVI_SND_TOUCH_TOUCH3
SVI_SND_TOUCH_SIP
SVI_SND_TOUCH_HOLD
SVI_SND_TOUCH_MULTI_TAP
SVI_SND_TOUCH_HW_TAP
SVI_SND_TOUCH_HW_HOLD
SVI_SND_TOUCH_KEY00
SVI_SND_TOUCH_KEY01
SVI_SND_TOUCH_KEY02
SVI_SND_TOUCH_KEY03
SVI_SND_TOUCH_KEY04
SVI_SND_TOUCH_KEY05
SVI_SND_TOUCH_KEY06
SVI_SND_TOUCH_KEY07
SVI_SND_TOUCH_KEY08
SVI_SND_TOUCH_KEY09
SVI_SND_TOUCH_KEY_STAR
SVI_SND_TOUCH_KEY_SHARP
SVI_SND_OPERATION_POWERON
SVI_SND_OPERATION_POWEROF
SVI_SND_OPERATION_CHARGERCONN
SVI_SND_OPERATION_FULLCHARGED
SVI_SND_OPERATION_LOWBATT
SVI_SND_OPERATION_LOCK
SVI_SND_OPERATION_UNLOCK
SVI_SND_OPERATION_CALLCONN
SVI_SND_OPERATION_CALLDISCONN
SVI_SND_OPERATION_MINUTE_MINDER
SVI_SND_OPERATION_VIBRATION
SVI_SND_OPERATION_NEWCHAT
SVI_SND_OPERATION_SENTCHAT
SVI_SND_OPERATION_ONOFFSLIDER
SVI_SND_OPERATION_SCRCAPTURE
@endcode
*/
/**
@}
*/
|