Mercurial > audlegacy-plugins
annotate src/flacng/README @ 1263:458d46e65a86
wav-sndfile: in is_our_file, ensure that filename is not NULL before passing it to sf_open
author | Giacomo Lozito <james@develia.org> |
---|---|
date | Fri, 13 Jul 2007 20:55:42 +0200 |
parents | 2f742d127b3e |
children |
rev | line source |
---|---|
930
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
1 /* |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
2 * A FLAC decoder plugin for the Audacious Media Player |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
3 * Copyright (C) 2005 Ralf Ertzinger |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
4 * |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
5 * This program is free software; you can redistribute it and/or modify |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
6 * it under the terms of the GNU General Public License as published by |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
7 * the Free Software Foundation; either version 2 of the License, or |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
8 * (at your option) any later version. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
9 * |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
10 * This program is distributed in the hope that it will be useful, |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
13 * GNU General Public License for more details. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
14 * |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
16 * along with this program; if not, write to the Free Software |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
18 */ |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
19 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
20 INTRODUCTION |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
21 ============ |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
22 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
23 This is an input plugin for the Audacious Media Player enabling the playback |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
24 of FLAC compressed audio files. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
25 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
26 The Audacious Media Player (http://www.audacious-media-player.org) is a port of |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
27 the XMMS audio player to GTK2. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
28 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
29 FLAC (http://flac.sourceforge.net/) is an Open Source lossless audio |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
30 codec developed by Josh Coalson. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
31 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
32 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
33 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
34 STATUS |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
35 ====== |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
36 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
37 This plugin is to be considered of alpha quality. Use at your own risk. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
38 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
39 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
40 OK, let's be brief with this and first list the things that do _not_ work |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
41 at the current time. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
42 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
43 - No display of bitrate |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
44 - Visualizer plugins do not work with FLAC streams (*) |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
45 - No OGGFlac streams (*) |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
46 - Maximum of 2 channels (Stereo) (*) |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
47 - No configuration options at all (*) |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
48 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
49 Still interested? Good. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
50 The items marked with a (*) above can be fixed, this just takes some code |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
51 that has not been written yet (har har). |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
52 The FLAC decoder does not emit the current bitrate, so you'll have to |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
53 settle for "VBR", which is true enough. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
54 As for configuration options, so far I have not found anything worth |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
55 configuring, maybe you can think of something. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
56 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
57 Nonetheless. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
58 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
59 Given all the restrictions above, when presented with a 8/16/24 bit, stereo |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
60 not-packed-in-ogg FLAC stream, this plugin will do it's best to produce |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
61 some sound out of it. This may even work. It may, on the other hand, crash |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
62 your machine and eat your data. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
63 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
64 Did I mention that the code is alpha quality? |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
65 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
66 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
67 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
68 HOW TO BUILD |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
69 ============ |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
70 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
71 You will need the following to compile the code: |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
72 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
73 1) A working compiler environment (if you do not know what this means |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
74 you probably do not want to use this code now, anyway) |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
75 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
76 2) The Audacious media player, including development header files |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
77 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
78 3) The FLAC libraries, including development header files |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
79 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
80 If you have all this the rest is easy. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
81 Unpack the tar ball, change into the directory created and |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
82 issue "configure" (without the quotes). This will try and find the |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
83 necessary stuff on your system. When it finishes successfully, type |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
84 "make". This will build the plugin library. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
85 To enable debugging messages (and you probably want those at this |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
86 point) use "configure --debug" |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
87 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
88 To install the plugin in your home directory (no special permissions |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
89 needed, ideal for testing) use "make localinstall" (you can use |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
90 "make localremove" to remove the plugin again). To install the plugin |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
91 for all users use "make install" instead. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
92 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
93 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
94 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
95 TESTING |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
96 ======= |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
97 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
98 After successful installation start Audacious (preferrably from the command |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
99 line so you can see error or debug messages) and look in the configuration |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
100 panel under plugins. The FLAC plugin ought to appear there, looking |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
101 like "FLAC audio plugin". Now add a FLAC file to |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
102 the playlist and try it. |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
103 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
104 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
105 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
106 BUGS |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
107 ==== |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
108 |
2f742d127b3e
[svn] - initial import of flacng from audacious-flacng-0.012
nenolod
parents:
diff
changeset
|
109 Sure. Tons of 'em. Report to <ralf@skytale.net> for the time being. |