Mercurial > audlegacy-plugins
annotate src/OSS4/OSS4.c @ 1244:d0f1e147cf62
now it saves VMIX volume between sessions
author | Cristi Magherusan <majeru@atheme-project.org> |
---|---|
date | Thu, 12 Jul 2007 18:21:23 +0300 |
parents | 2a722c3ccd9e |
children | a18b7cdc505d |
rev | line source |
---|---|
1214
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
1 /* BMP - Cross-platform multimedia player |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
2 * Copyright (C) 2003-2004 BMP development team. |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
3 * |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
4 * Based on XMMS: |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
5 * Copyright (C) 1998-2003 XMMS development team. |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
6 * |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
7 * This program is free software; you can redistribute it and/or modify |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
8 * it under the terms of the GNU General Public License as published by |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
9 * the Free Software Foundation; either version 2 of the License, or |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
10 * (at your option) any later version. |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
11 * |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
12 * This program is distributed in the hope that it will be useful, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
15 * GNU General Public License for more details. |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
16 * |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
17 * You should have received a copy of the GNU General Public License |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
18 * along with this program; if not, write to the Free Software |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
20 */ |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
21 |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
22 #include "OSS4.h" |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
23 |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
24 #include <glib.h> |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
25 #include <audacious/i18n.h> |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
26 #include <stdlib.h> |
1244
d0f1e147cf62
now it saves VMIX volume between sessions
Cristi Magherusan <majeru@atheme-project.org>
parents:
1214
diff
changeset
|
27 #include <audacious/configdb.h> |
1214
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
28 |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
29 OutputPlugin oss_op = { |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
30 NULL, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
31 NULL, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
32 "OSS4 Output Plugin", /* Description */ |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
33 oss_init, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
34 oss_cleanup, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
35 oss_about, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
36 oss_configure, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
37 oss_get_volume, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
38 oss_set_volume, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
39 oss_open, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
40 oss_write, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
41 oss_close, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
42 oss_flush, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
43 oss_pause, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
44 oss_free, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
45 oss_playing, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
46 oss_get_output_time, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
47 oss_get_written_time, |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
48 oss_tell |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
49 }; |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
50 |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
51 OutputPlugin *oss_oplist[] = { &oss_op, NULL }; |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
52 |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
53 DECLARE_PLUGIN(OSS4, NULL, NULL, NULL, oss_oplist, NULL, NULL, NULL); |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
54 |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
55 void oss_cleanup(void) |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
56 { |
1244
d0f1e147cf62
now it saves VMIX volume between sessions
Cristi Magherusan <majeru@atheme-project.org>
parents:
1214
diff
changeset
|
57 ConfigDb *db; |
d0f1e147cf62
now it saves VMIX volume between sessions
Cristi Magherusan <majeru@atheme-project.org>
parents:
1214
diff
changeset
|
58 db = bmp_cfg_db_open(); |
d0f1e147cf62
now it saves VMIX volume between sessions
Cristi Magherusan <majeru@atheme-project.org>
parents:
1214
diff
changeset
|
59 bmp_cfg_db_set_int(db, "OSS", "saved_volume", vol); |
d0f1e147cf62
now it saves VMIX volume between sessions
Cristi Magherusan <majeru@atheme-project.org>
parents:
1214
diff
changeset
|
60 bmp_cfg_db_close(db); |
d0f1e147cf62
now it saves VMIX volume between sessions
Cristi Magherusan <majeru@atheme-project.org>
parents:
1214
diff
changeset
|
61 |
1214
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
62 if (oss_cfg.alt_audio_device) { |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
63 free(oss_cfg.alt_audio_device); |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
64 oss_cfg.alt_audio_device = NULL; |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
65 } |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
66 |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
67 if (oss_cfg.alt_mixer_device) { |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
68 free(oss_cfg.alt_mixer_device); |
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
69 oss_cfg.alt_mixer_device = NULL; |
1244
d0f1e147cf62
now it saves VMIX volume between sessions
Cristi Magherusan <majeru@atheme-project.org>
parents:
1214
diff
changeset
|
70 } |
1214
2a722c3ccd9e
damn, I forgot to 'hg add' the sources
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
71 } |