diff options
author | Michiel Van Der Kolk <not.valid@email.address> | 2005-03-17 20:50:03 +0000 |
---|---|---|
committer | Michiel Van Der Kolk <not.valid@email.address> | 2005-03-17 20:50:03 +0000 |
commit | 27be5bc72855a0fbbdae230bc144624c9eb85f5e (patch) | |
tree | b553f1321df924c4b744ffcab48dce5f4f081f7d /apps/codecs/dumb/readme.txt | |
parent | 7e7662bb716917ca431204f0113d400c1014f2e8 (diff) | |
download | rockbox-27be5bc72855a0fbbdae230bc144624c9eb85f5e.tar.gz rockbox-27be5bc72855a0fbbdae230bc144624c9eb85f5e.zip |
Initial check in dumb 0.9.2 - has a few usages of floating point that should
be rewritten to fixed point. seems to compile cleanly for iriver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6197 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/dumb/readme.txt')
-rw-r--r-- | apps/codecs/dumb/readme.txt | 421 |
1 files changed, 421 insertions, 0 deletions
diff --git a/apps/codecs/dumb/readme.txt b/apps/codecs/dumb/readme.txt new file mode 100644 index 0000000000..45abd1a17a --- /dev/null +++ b/apps/codecs/dumb/readme.txt | |||
@@ -0,0 +1,421 @@ | |||
1 | /* _______ ____ __ ___ ___ | ||
2 | * \ _ \ \ / \ / \ \ / / ' ' ' | ||
3 | * | | \ \ | | || | \/ | . . | ||
4 | * | | | | | | || ||\ /| | | ||
5 | * | | | | | | || || \/ | | ' ' ' | ||
6 | * | | | | | | || || | | . . | ||
7 | * | |_/ / \ \__// || | | | ||
8 | * /_______/ynamic \____/niversal /__\ /____\usic /| . . ibliotheque | ||
9 | * / \ | ||
10 | * / . \ | ||
11 | * readme.txt - General information on DUMB. / / \ \ | ||
12 | * | < / \_ | ||
13 | * | \/ /\ / | ||
14 | * \_ / > / | ||
15 | * | \ / / | ||
16 | * | ' / | ||
17 | * \__/ | ||
18 | */ | ||
19 | |||
20 | |||
21 | ******************** | ||
22 | *** Introduction *** | ||
23 | ******************** | ||
24 | |||
25 | |||
26 | Thank you for downloading DUMB! You should have the following documentation: | ||
27 | |||
28 | readme.txt - This file | ||
29 | licence.txt - Conditions for the use of this software | ||
30 | release.txt - Release notes and changes for this and past releases | ||
31 | docs/ | ||
32 | howto.txt - Step-by-step instructions on adding DUMB to your project | ||
33 | faq.txt - Frequently asked questions and answers to them | ||
34 | dumb.txt - DUMB library reference | ||
35 | deprec.txt - Information about deprecated parts of the API | ||
36 | ptr.txt - Quick introduction to pointers for those who need it | ||
37 | fnptr.txt - Explanation of function pointers for those who need it | ||
38 | modplug.txt - Our official position regarding ModPlug Tracker | ||
39 | |||
40 | This file will help you get DUMB set up. If you have not yet done so, please | ||
41 | read licence.txt and release.txt before proceeding. After you've got DUMB set | ||
42 | up, please refer to the files in the docs/ directory at your convenience. I | ||
43 | recommend you start with howto.txt. | ||
44 | |||
45 | |||
46 | **************** | ||
47 | *** Features *** | ||
48 | **************** | ||
49 | |||
50 | |||
51 | Here is the statutory feature list: | ||
52 | |||
53 | - Freeware | ||
54 | |||
55 | - Supports playback of IT, XM, S3M and MOD files | ||
56 | |||
57 | - Faithful to the original trackers, especially IT; if it plays your module | ||
58 | wrongly, please tell me so I can fix the bug! (But please don't complain | ||
59 | about differences between DUMB and ModPlug Tracker; see docs/modplug.txt) | ||
60 | |||
61 | - Accurate support for low-pass resonant filters for IT files | ||
62 | |||
63 | - Very accurate timing and pitching; completely deterministic playback | ||
64 | |||
65 | - Click removal | ||
66 | |||
67 | - Facility to embed music files in other files (e.g. Allegro datafiles) | ||
68 | |||
69 | - Three resampling quality settings: aliasing, linear interpolation and cubic | ||
70 | interpolation | ||
71 | |||
72 | - Number of samples playing at once can be limited to reduce processor usage, | ||
73 | but samples will come back in when other louder ones stop | ||
74 | |||
75 | - All notes will be present and correct even if you start a piece of music in | ||
76 | the middle | ||
77 | |||
78 | - Fast seeking to any point before the music first loops (seeking time | ||
79 | increases beyond this point) | ||
80 | |||
81 | - Audio generated can be used in any way; DUMB does not necessarily send it | ||
82 | straight to a sound output system | ||
83 | |||
84 | - Makefile provided for DJGPP, MinGW, Linux, BeOS and Mac OS X; project file | ||
85 | provided for MSVC 6 (please contact me if you'd like to submit or request | ||
86 | support for a new platform; the code itself should port anywhere that has a | ||
87 | 32-bit C compiler) | ||
88 | |||
89 | - Can be used with Allegro, can be used without (if you'd like to help make | ||
90 | DUMB more approachable to people who aren't using Allegro, please contact | ||
91 | me) | ||
92 | |||
93 | |||
94 | ********************* | ||
95 | *** What you need *** | ||
96 | ********************* | ||
97 | |||
98 | |||
99 | To use DUMB, you need a 32-bit C compiler (GCC and MSVC are fine). If you | ||
100 | have Allegro, DUMB can integrate with its audio streams and datafiles, making | ||
101 | your life easier. If you do not wish to use Allegro, you will have to do some | ||
102 | work to get music playing back. The 'dumbplay' example program requires | ||
103 | Allegro. | ||
104 | |||
105 | Allegro - http://alleg.sf.net/ | ||
106 | |||
107 | Neil Walker has kindly uploaded some DUMB binaries at | ||
108 | http://retrospec.sgn.net/allegro/ . They may not always be up to date, so you | ||
109 | should try to compile it yourself first. | ||
110 | |||
111 | |||
112 | ********************************************** | ||
113 | *** How to set DUMB up with DJGPP or MinGW *** | ||
114 | ********************************************** | ||
115 | |||
116 | |||
117 | You should have got the .zip version. If for some reason you got the .tar.gz | ||
118 | version instead, you may have to convert make/config.bat to DOS text file | ||
119 | format. WinZip does this automatically by default. Otherwise, loading it into | ||
120 | MS EDIT and saving it again should do the trick. You will have to do the same | ||
121 | for any files you want to view in Windows Notepad. If you have problems, just | ||
122 | go and download the .zip instead. | ||
123 | |||
124 | Make sure you preserved the directory structure when you extracted DUMB from | ||
125 | the archive. Most unzipping programs will do this by default, but pkunzip | ||
126 | requires you to pass -d. If not, please delete DUMB and extract it again | ||
127 | properly. | ||
128 | |||
129 | If you are using Windows, open an MS-DOS Prompt or a Windows Command Line. | ||
130 | Change to the directory into which you unzipped DUMB. | ||
131 | |||
132 | Type the following: | ||
133 | |||
134 | make | ||
135 | |||
136 | DUMB will ask you whether you wish to compile for DJGPP or MinGW. Then it | ||
137 | will ask you whether you want support for Allegro. (You have to have made and | ||
138 | installed Allegro's optimised library for this to work.) Finally, it will | ||
139 | compile optimised and debugging builds of DUMB, along with the example | ||
140 | programs. When it has finished, run the following to install the libraries: | ||
141 | |||
142 | make install | ||
143 | |||
144 | All done! If you ever need the configuration again (e.g. if you compiled for | ||
145 | DJGPP before and you want to compile for MinGW now), run the following: | ||
146 | |||
147 | make config | ||
148 | |||
149 | See the comments in the makefile for other targets. | ||
150 | |||
151 | Note: the makefile will only work properly if you have COMSPEC or ComSpec set | ||
152 | to point to command.com or cmd.exe. If you set it to point to a Unix-style | ||
153 | shell, the makefile won't work. | ||
154 | |||
155 | Please let me know if you have any trouble. | ||
156 | |||
157 | Scroll down for information on the example programs. Refer to docs/howto.txt | ||
158 | when you are ready to start programming with DUMB. If you use DUMB in a game, | ||
159 | let me know - I might decide to place a link to your game on DUMB's website! | ||
160 | |||
161 | |||
162 | ****************************************************** | ||
163 | *** How to set DUMB up with Microsoft Visual C++ 6 *** | ||
164 | ****************************************************** | ||
165 | |||
166 | |||
167 | You should have got the .zip version. If for some reason you got the .tar.gz | ||
168 | version instead, you may have to convert some files to DOS text file format. | ||
169 | WinZip does this automatically by default. Otherwise, loading such files into | ||
170 | MS EDIT and saving them again should do the trick. You will have to do this | ||
171 | for any files you want to view in Windows Notepad. If you have problems, just | ||
172 | go and download the .zip instead. | ||
173 | |||
174 | Make sure you preserved the directory structure when you extracted DUMB from | ||
175 | the archive. Most unzipping programs will do this by default, but pkunzip | ||
176 | requires you to pass -d. If not, please delete DUMB and extract it again | ||
177 | properly. | ||
178 | |||
179 | DUMB now comes with a project file for Microsoft Visual C++ 6. To add DUMB to | ||
180 | your project: | ||
181 | |||
182 | 1. Open your project in VC++. | ||
183 | 2. Select Project|Insert Project into Workspace... | ||
184 | 3. Navigate to the dumb\vc6 directory, and select dumb.dsp. | ||
185 | 4. Select Build|Set Active Configuration..., and reselect one of your | ||
186 | project's configurations. | ||
187 | 5. Select Project|Dependencies... and ensure your project is dependent on | ||
188 | DUMB. | ||
189 | 6. Select Project|Settings..., Settings for: All Configurations, C/C++ tab, | ||
190 | Preprocessor category. Add the DUMB include directory to the Additional | ||
191 | Include Directories box. | ||
192 | 7. Ensure that for all the projects in the workspace (or more likely just all | ||
193 | the projects in a particular dependency chain) the run-time libraries are | ||
194 | the same. That's in Project|Settings, C/C++ tab, Code generation category, | ||
195 | Use run-time library dropdown. The settings for Release and Debug are | ||
196 | separate, so you'll have to change them one at a time. Exactly which run- | ||
197 | time library you use will depend on what you need; it doesn't appear that | ||
198 | DUMB has any particular requirements, so set it to whatever you're using | ||
199 | now. | ||
200 | |||
201 | Good thing you only have to do all that once ... | ||
202 | |||
203 | If you have the Intel compiler installed, it will - well, should - be used to | ||
204 | compile DUMB. The only setting I added is /QxiM. This allows the compiler to | ||
205 | use PPro and MMX instructions, and so when compiling with Intel the resultant | ||
206 | EXE will require a Pentium II or greater. I don't think this is unreasonable. | ||
207 | After all, it is 2003 :) | ||
208 | |||
209 | If you don't have the Intel compiler, VC will compile DUMB as normal. | ||
210 | |||
211 | This project file and these instructions were provided by Tom Seddon (I hope | ||
212 | I got his name right; I had to guess it from his e-mail address!). They are | ||
213 | untested by me. If you have problems, check the download page at | ||
214 | http://dumb.sf.net/ to see if they are addressed; failing that, direct | ||
215 | queries to me and I'll try to figure them out. | ||
216 | |||
217 | When you are ready to start using DUMB, refer to docs/howto.txt. If you use | ||
218 | DUMB in a game, let me know - I might decide to place a link to your game on | ||
219 | DUMB's website! | ||
220 | |||
221 | |||
222 | ******************************************************************** | ||
223 | *** How to set DUMB up on Linux, BeOS and possibly even Mac OS X *** | ||
224 | ******************************************************************** | ||
225 | |||
226 | |||
227 | You should have got the .tar.gz version. If for some reason you got the .zip | ||
228 | version instead, you may have to use dtou on some or all of the text files. | ||
229 | If you have problems, just go and download the .tar.gz instead. | ||
230 | |||
231 | First, run the following command as a normal user: | ||
232 | |||
233 | make | ||
234 | |||
235 | You will be asked whether you want Allegro support. Then, unless you are on | ||
236 | BeOS, you will be asked where you'd like DUMB to install its headers, | ||
237 | libraries and examples (which will go in the include/, lib/ and bin/ | ||
238 | subdirectories of the prefix you specify). BeOS has fixed locations for these | ||
239 | files. Once you have specified these pieces of information, the optimised and | ||
240 | debugging builds of DUMB will be compiled, along with the examples. When it | ||
241 | has finished, you can install them with: | ||
242 | |||
243 | make install | ||
244 | |||
245 | You may need to be root for this to work. It depends on the prefix you chose. | ||
246 | |||
247 | Note: the makefile will only work if COMSPEC and ComSpec are both undefined. | ||
248 | If either of these is defined, the makefile will try to build for a Windows | ||
249 | system, and will fail. | ||
250 | |||
251 | Please let me know if you have any trouble. | ||
252 | |||
253 | Information on the example programs is just below. Refer to docs/howto.txt | ||
254 | when you are ready to start programming with DUMB. If you use DUMB in a game, | ||
255 | let me know - I might decide to place a link to your game on DUMB's website! | ||
256 | |||
257 | |||
258 | **************************** | ||
259 | *** The example programs *** | ||
260 | **************************** | ||
261 | |||
262 | |||
263 | Two example programs are provided. On DOS and Windows, you can find them in | ||
264 | the examples subdirectory. On other systems they will be installed system- | ||
265 | wide. | ||
266 | |||
267 | dumbplay | ||
268 | This program will only be built if you have Allegro. Pass it the filename | ||
269 | of an IT, XM, S3M or MOD file, and it will play it. It's not a polished | ||
270 | player with real-time threading or anything - so don't complain about it | ||
271 | stuttering while you use other programs - but it does show DUMB's fidelity | ||
272 | nicely. You can control the playback quality by editing dumb.ini, which | ||
273 | must be in the current working directory. (This is a flaw for systems | ||
274 | where the program is installed system-wide, but it is non-fatal.) Have a | ||
275 | look at the examples/dumb.ini file for further information. | ||
276 | |||
277 | dumbout | ||
278 | This program does not need Allegro. You can use it to stream an IT, XM, | ||
279 | S3M or MOD file to raw PCM. This can be used as input to an encoder like | ||
280 | oggenc (with appropriate command-line options), or it can be sent to a | ||
281 | .pcm file which can be read by any respectable waveform editor. No .wav | ||
282 | support yet, sorry. This program is also convenient for timing DUMB. | ||
283 | Compare the time it takes to render a module with the module's playing | ||
284 | time! dumbout doesn't try to read any configuration file; the options are | ||
285 | set on the command line. | ||
286 | |||
287 | |||
288 | ********************************************* | ||
289 | *** Downloading music or writing your own *** | ||
290 | ********************************************* | ||
291 | |||
292 | |||
293 | If you would like to compose your own music modules, then first I must offer | ||
294 | a word of warning: not everyone is capable of composing music. Do not assume | ||
295 | you will be able to learn the art. By all means have a go; if you can learn | ||
296 | to play tunes on the computer keyboard, you're well on the way to being a | ||
297 | composer! | ||
298 | |||
299 | The best programs for the job are the trackers that pioneered the file | ||
300 | formats: | ||
301 | |||
302 | Impulse Tracker - IT files - http://www.noisemusic.org/it/ | ||
303 | Fast Tracker II - XM files - http://www.gwinternet.com/music/ft2/ | ||
304 | Scream Tracker 3 - S3M files - | ||
305 | http://www.united-trackers.org/resources/software/screamtracker.htm | ||
306 | |||
307 | MOD files come from the Amiga; I do not know what PC tracker to recommend for | ||
308 | editing these. If you know of one, let me know! In the meantime, I would | ||
309 | recommend using a more advanced file format. However, don't convert your | ||
310 | existing MODs just for the sake of it. | ||
311 | |||
312 | Note that Fast Tracker II is Shareware. It arguably offers the best | ||
313 | interface, but the IT file format is more powerful and better defined. | ||
314 | Impulse Tracker and Scream Tracker 3 are Freeware. DUMB is likely to be at | ||
315 | its best with IT files. | ||
316 | |||
317 | These editors are DOS programs. Users of DOS-incapable operating systems may | ||
318 | like to try ModPlug Tracker, but should read docs/modplug.txt before using it | ||
319 | for any serious work. If you use a different operating system, or if you know | ||
320 | of any module editors for Windows that are more faithful to the original | ||
321 | trackers' playback, please give me some links so I can put them here! | ||
322 | |||
323 | ModPlug Tracker - http://www.modplug.com/ | ||
324 | |||
325 | BEWARE OF WINAMP! Although it's excellent for MP3s, it is notorious for being | ||
326 | one of the worst module players in existence; very few modules play correctly | ||
327 | with it. There are plug-ins available to improve Winamp's module support, for | ||
328 | example WSP. | ||
329 | |||
330 | Winamp - http://www.winamp.com/ | ||
331 | WSP - http://www.spytech.cz/index.php?sec=demo | ||
332 | |||
333 | Samples and instruments are the building blocks of music modules. You can | ||
334 | download samples at: | ||
335 | |||
336 | http://www.tump.net/ | ||
337 | |||
338 | If you would like to download module files composed by other people, check | ||
339 | the following sites: | ||
340 | |||
341 | http://www.modarchive.com/ | ||
342 | http://www.scene.org/ | ||
343 | http://www.tump.net/ | ||
344 | http://www.homemusic.cc/main.php | ||
345 | http://www.modplug.com/ | ||
346 | |||
347 | Once again, if you know of more sites where samples or module files are | ||
348 | available for download, please let me know. | ||
349 | |||
350 | If you wish to use someone's music in your game, please respect the | ||
351 | composer's wishes. In general, you should ask the composer. Music that has | ||
352 | been placed in the Public Domain can be used by anyone for anything, but it | ||
353 | wouldn't do any harm to ask anyway if you know who the author is. In most | ||
354 | cases the author will be thrilled, so don't hesitate! | ||
355 | |||
356 | A note about converting modules from one format to another: don't do it, | ||
357 | unless you are a musician and are prepared to go through the file and make | ||
358 | sure everything sounds the way it should! The module formats are all slightly | ||
359 | different, and converting from one format to another will usually do some | ||
360 | damage. | ||
361 | |||
362 | Instead, it is recommended that you allow DUMB to interpret the original file | ||
363 | as it sees fit. DUMB may make mistakes (it does a lot of conversion on | ||
364 | loading), but future versions of DUMB will be able to rectify these mistakes. | ||
365 | On the other hand, if you convert the file, the damage is permanent. | ||
366 | |||
367 | |||
368 | *********************** | ||
369 | *** Contact details *** | ||
370 | *********************** | ||
371 | |||
372 | |||
373 | If you have trouble with DUMB, or want to contact me for any other reason, my | ||
374 | e-mail address is given below. However, I may be able to help more if you | ||
375 | come on to IRC EFnet #dumb. | ||
376 | |||
377 | IRC stands for Internet Relay Chat, and is a type of chat network. Several | ||
378 | such networks exist, and EFnet is a popular one. In order to connect to an | ||
379 | IRC network, you first need an IRC client. Here are some: | ||
380 | |||
381 | http://www.xchat.org/ | ||
382 | http://www.visualirc.net/beta.php | ||
383 | http://www.mirc.com/ | ||
384 | |||
385 | Getting on to IRC can be a steep cliff, but it is not insurmountable, and | ||
386 | it's well worth it. Once you have set up the client software, you need to | ||
387 | connect to a server. Here is a list of EFnet servers I have had success with. | ||
388 | Type "/server" (without quotes), then a space, then the name of a server. | ||
389 | |||
390 | irc.homelien.no | ||
391 | irc.webgiro.se | ||
392 | efnet.vuurwerk.nl | ||
393 | efnet.demon.co.uk | ||
394 | irc.isdnet.fr | ||
395 | irc.prison.net | ||
396 | |||
397 | If these servers do not work, visit http://efnet.org/ircdb/servers.php for a | ||
398 | huge list of other EFnet servers to try. | ||
399 | |||
400 | Once you're connected, type the following: | ||
401 | |||
402 | /join #dumb | ||
403 | |||
404 | A window will appear, and you can ask your question. It should be clear | ||
405 | what's going on from this point onwards. I am 'entheh'. Note that unlike many | ||
406 | other nerds I am not always at my computer, so if I don't answer your | ||
407 | question, don't take it personally! I will usually be able to read your | ||
408 | question when I come back. | ||
409 | |||
410 | |||
411 | ****************** | ||
412 | *** Conclusion *** | ||
413 | ****************** | ||
414 | |||
415 | |||
416 | This is the conclusion. | ||
417 | |||
418 | |||
419 | Ben Davis | ||
420 | entheh@users.sf.net | ||
421 | IRC EFnet #dumb | ||