comparison src/modplug/plugin.cxx @ 12:3da1b8942b8b trunk

[svn] - remove src/Input src/Output src/Effect src/General src/Visualization src/Container
author nenolod
date Mon, 18 Sep 2006 03:14:20 -0700
parents src/Input/modplug/plugin.cxx@13389e613d67
children 4095ceb0440b
comparison
equal deleted inserted replaced
11:cff1d04026ae 12:3da1b8942b8b
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 }