summaryrefslogtreecommitdiff
path: root/SLP_FEEDBACK_PG.h
blob: 5ab2fbd5eaa96b4442a4041fa6f69456cb1c290f (plain)
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

*/

/**
@}
*/