comparison src/Input/modplug/plugin.cxx @ 0:13389e613d67 trunk

[svn] - initial import of audacious-plugins tree (lots to do)
author nenolod
date Mon, 18 Sep 2006 01:11:49 -0700
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13389e613d67
1 /* Modplug XMMS Plugin
2 * Authors: Kenton Varda <temporal@gauge3d.org>
3 *
4 * This source code is public domain.
5 */
6
7 #include "audacious/plugin.h"
8 #include <libmodplug/modplug.h>
9 #include "gui/main.h"
10
11 extern InputPlugin gModPlug;
12
13 static void Init(void)
14 {
15 gModplugXMMS.SetInputPlugin(gModPlug);
16 gModplugXMMS.Init();
17 }
18
19 static int CanPlayFile(char* aFilename)
20 {
21 if(gModplugXMMS.CanPlayFile(aFilename))
22 return 1;
23 return 0;
24 }
25
26 static void PlayFile(char* aFilename)
27 {
28 gModplugXMMS.SetOutputPlugin(*gModPlug.output);
29 gModplugXMMS.PlayFile(aFilename);
30 }
31
32 static void Stop(void)
33 {
34 gModplugXMMS.Stop();
35 }
36
37 static void Pause(short aPaused)
38 {
39 gModplugXMMS.Pause((bool)aPaused);
40 }
41
42 static void Seek(int aTime)
43 {
44 gModplugXMMS.Seek(float32(aTime));
45 }
46 static int GetTime(void)
47 {
48 float32 lTime;
49
50 lTime = gModplugXMMS.GetTime();
51 if(lTime == -1)
52 return -1;
53 else
54 return (int)(lTime * 1000);
55 }
56
57 static void GetSongInfo(char* aFilename, char** aTitle, int* aLength)
58 {
59 gModplugXMMS.GetSongInfo(aFilename, *aTitle, *aLength);
60 }
61
62 void ShowAboutBox(void)
63 {
64 ShowAboutWindow();
65 }
66
67 void ShowConfigureBox(void)
68 {
69 ShowConfigureWindow(gModplugXMMS.GetModProps());
70 }
71
72 void ShowFileInfoBox(char* aFilename)
73 {
74 ShowInfoWindow(aFilename);
75 }
76
77 InputPlugin gModPlug =
78 {
79 NULL,
80 NULL,
81 "ModPlug Player",
82 Init,
83 ShowAboutBox,
84 ShowConfigureBox,
85 CanPlayFile,
86 NULL,
87 PlayFile,
88 Stop,
89 Pause,
90 Seek,
91 NULL,
92 GetTime,
93 NULL,
94 NULL,
95 NULL,
96 NULL,
97 NULL,
98 NULL,
99 NULL,
100 GetSongInfo,
101 ShowFileInfoBox,
102 NULL
103 };
104
105 extern "C"
106 {
107 InputPlugin* get_iplugin_info (void)
108 {
109 return &gModPlug;
110 }
111 }