summaryrefslogtreecommitdiff
path: root/apps/codecs/dumb/readme.txt
diff options
context:
space:
mode:
authorMichiel Van Der Kolk <not.valid@email.address>2005-03-17 20:50:03 +0000
committerMichiel Van Der Kolk <not.valid@email.address>2005-03-17 20:50:03 +0000
commit27be5bc72855a0fbbdae230bc144624c9eb85f5e (patch)
treeb553f1321df924c4b744ffcab48dce5f4f081f7d /apps/codecs/dumb/readme.txt
parent7e7662bb716917ca431204f0113d400c1014f2e8 (diff)
downloadrockbox-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.txt421
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
26Thank 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
40This file will help you get DUMB set up. If you have not yet done so, please
41read licence.txt and release.txt before proceeding. After you've got DUMB set
42up, please refer to the files in the docs/ directory at your convenience. I
43recommend you start with howto.txt.
44
45
46****************
47*** Features ***
48****************
49
50
51Here 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
99To use DUMB, you need a 32-bit C compiler (GCC and MSVC are fine). If you
100have Allegro, DUMB can integrate with its audio streams and datafiles, making
101your life easier. If you do not wish to use Allegro, you will have to do some
102work to get music playing back. The 'dumbplay' example program requires
103Allegro.
104
105 Allegro - http://alleg.sf.net/
106
107Neil Walker has kindly uploaded some DUMB binaries at
108http://retrospec.sgn.net/allegro/ . They may not always be up to date, so you
109should try to compile it yourself first.
110
111
112**********************************************
113*** How to set DUMB up with DJGPP or MinGW ***
114**********************************************
115
116
117You should have got the .zip version. If for some reason you got the .tar.gz
118version instead, you may have to convert make/config.bat to DOS text file
119format. WinZip does this automatically by default. Otherwise, loading it into
120MS EDIT and saving it again should do the trick. You will have to do the same
121for any files you want to view in Windows Notepad. If you have problems, just
122go and download the .zip instead.
123
124Make sure you preserved the directory structure when you extracted DUMB from
125the archive. Most unzipping programs will do this by default, but pkunzip
126requires you to pass -d. If not, please delete DUMB and extract it again
127properly.
128
129If you are using Windows, open an MS-DOS Prompt or a Windows Command Line.
130Change to the directory into which you unzipped DUMB.
131
132Type the following:
133
134 make
135
136DUMB will ask you whether you wish to compile for DJGPP or MinGW. Then it
137will ask you whether you want support for Allegro. (You have to have made and
138installed Allegro's optimised library for this to work.) Finally, it will
139compile optimised and debugging builds of DUMB, along with the example
140programs. When it has finished, run the following to install the libraries:
141
142 make install
143
144All done! If you ever need the configuration again (e.g. if you compiled for
145DJGPP before and you want to compile for MinGW now), run the following:
146
147 make config
148
149See the comments in the makefile for other targets.
150
151Note: the makefile will only work properly if you have COMSPEC or ComSpec set
152to point to command.com or cmd.exe. If you set it to point to a Unix-style
153shell, the makefile won't work.
154
155Please let me know if you have any trouble.
156
157Scroll down for information on the example programs. Refer to docs/howto.txt
158when you are ready to start programming with DUMB. If you use DUMB in a game,
159let 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
167You should have got the .zip version. If for some reason you got the .tar.gz
168version instead, you may have to convert some files to DOS text file format.
169WinZip does this automatically by default. Otherwise, loading such files into
170MS EDIT and saving them again should do the trick. You will have to do this
171for any files you want to view in Windows Notepad. If you have problems, just
172go and download the .zip instead.
173
174Make sure you preserved the directory structure when you extracted DUMB from
175the archive. Most unzipping programs will do this by default, but pkunzip
176requires you to pass -d. If not, please delete DUMB and extract it again
177properly.
178
179DUMB now comes with a project file for Microsoft Visual C++ 6. To add DUMB to
180your project:
181
1821. Open your project in VC++.
1832. Select Project|Insert Project into Workspace...
1843. Navigate to the dumb\vc6 directory, and select dumb.dsp.
1854. Select Build|Set Active Configuration..., and reselect one of your
186 project's configurations.
1875. Select Project|Dependencies... and ensure your project is dependent on
188 DUMB.
1896. 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.
1927. 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
201Good thing you only have to do all that once ...
202
203If you have the Intel compiler installed, it will - well, should - be used to
204compile DUMB. The only setting I added is /QxiM. This allows the compiler to
205use PPro and MMX instructions, and so when compiling with Intel the resultant
206EXE will require a Pentium II or greater. I don't think this is unreasonable.
207After all, it is 2003 :)
208
209If you don't have the Intel compiler, VC will compile DUMB as normal.
210
211This project file and these instructions were provided by Tom Seddon (I hope
212I got his name right; I had to guess it from his e-mail address!). They are
213untested by me. If you have problems, check the download page at
214http://dumb.sf.net/ to see if they are addressed; failing that, direct
215queries to me and I'll try to figure them out.
216
217When you are ready to start using DUMB, refer to docs/howto.txt. If you use
218DUMB in a game, let me know - I might decide to place a link to your game on
219DUMB's website!
220
221
222********************************************************************
223*** How to set DUMB up on Linux, BeOS and possibly even Mac OS X ***
224********************************************************************
225
226
227You should have got the .tar.gz version. If for some reason you got the .zip
228version instead, you may have to use dtou on some or all of the text files.
229If you have problems, just go and download the .tar.gz instead.
230
231First, run the following command as a normal user:
232
233 make
234
235You will be asked whether you want Allegro support. Then, unless you are on
236BeOS, you will be asked where you'd like DUMB to install its headers,
237libraries and examples (which will go in the include/, lib/ and bin/
238subdirectories of the prefix you specify). BeOS has fixed locations for these
239files. Once you have specified these pieces of information, the optimised and
240debugging builds of DUMB will be compiled, along with the examples. When it
241has finished, you can install them with:
242
243 make install
244
245You may need to be root for this to work. It depends on the prefix you chose.
246
247Note: the makefile will only work if COMSPEC and ComSpec are both undefined.
248If either of these is defined, the makefile will try to build for a Windows
249system, and will fail.
250
251Please let me know if you have any trouble.
252
253Information on the example programs is just below. Refer to docs/howto.txt
254when you are ready to start programming with DUMB. If you use DUMB in a game,
255let 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
263Two example programs are provided. On DOS and Windows, you can find them in
264the examples subdirectory. On other systems they will be installed system-
265wide.
266
267dumbplay
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
277dumbout
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
293If you would like to compose your own music modules, then first I must offer
294a word of warning: not everyone is capable of composing music. Do not assume
295you will be able to learn the art. By all means have a go; if you can learn
296to play tunes on the computer keyboard, you're well on the way to being a
297composer!
298
299The best programs for the job are the trackers that pioneered the file
300formats:
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
307MOD files come from the Amiga; I do not know what PC tracker to recommend for
308editing these. If you know of one, let me know! In the meantime, I would
309recommend using a more advanced file format. However, don't convert your
310existing MODs just for the sake of it.
311
312Note that Fast Tracker II is Shareware. It arguably offers the best
313interface, but the IT file format is more powerful and better defined.
314Impulse Tracker and Scream Tracker 3 are Freeware. DUMB is likely to be at
315its best with IT files.
316
317These editors are DOS programs. Users of DOS-incapable operating systems may
318like to try ModPlug Tracker, but should read docs/modplug.txt before using it
319for any serious work. If you use a different operating system, or if you know
320of any module editors for Windows that are more faithful to the original
321trackers' playback, please give me some links so I can put them here!
322
323 ModPlug Tracker - http://www.modplug.com/
324
325BEWARE OF WINAMP! Although it's excellent for MP3s, it is notorious for being
326one of the worst module players in existence; very few modules play correctly
327with it. There are plug-ins available to improve Winamp's module support, for
328example WSP.
329
330 Winamp - http://www.winamp.com/
331 WSP - http://www.spytech.cz/index.php?sec=demo
332
333Samples and instruments are the building blocks of music modules. You can
334download samples at:
335
336 http://www.tump.net/
337
338If you would like to download module files composed by other people, check
339the 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
347Once again, if you know of more sites where samples or module files are
348available for download, please let me know.
349
350If you wish to use someone's music in your game, please respect the
351composer's wishes. In general, you should ask the composer. Music that has
352been placed in the Public Domain can be used by anyone for anything, but it
353wouldn't do any harm to ask anyway if you know who the author is. In most
354cases the author will be thrilled, so don't hesitate!
355
356A note about converting modules from one format to another: don't do it,
357unless you are a musician and are prepared to go through the file and make
358sure everything sounds the way it should! The module formats are all slightly
359different, and converting from one format to another will usually do some
360damage.
361
362Instead, it is recommended that you allow DUMB to interpret the original file
363as it sees fit. DUMB may make mistakes (it does a lot of conversion on
364loading), but future versions of DUMB will be able to rectify these mistakes.
365On the other hand, if you convert the file, the damage is permanent.
366
367
368***********************
369*** Contact details ***
370***********************
371
372
373If you have trouble with DUMB, or want to contact me for any other reason, my
374e-mail address is given below. However, I may be able to help more if you
375come on to IRC EFnet #dumb.
376
377IRC stands for Internet Relay Chat, and is a type of chat network. Several
378such networks exist, and EFnet is a popular one. In order to connect to an
379IRC 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
385Getting on to IRC can be a steep cliff, but it is not insurmountable, and
386it's well worth it. Once you have set up the client software, you need to
387connect to a server. Here is a list of EFnet servers I have had success with.
388Type "/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
397If these servers do not work, visit http://efnet.org/ircdb/servers.php for a
398huge list of other EFnet servers to try.
399
400Once you're connected, type the following:
401
402 /join #dumb
403
404A window will appear, and you can ask your question. It should be clear
405what's going on from this point onwards. I am 'entheh'. Note that unlike many
406other nerds I am not always at my computer, so if I don't answer your
407question, don't take it personally! I will usually be able to read your
408question when I come back.
409
410
411******************
412*** Conclusion ***
413******************
414
415
416This is the conclusion.
417
418
419Ben Davis
420entheh@users.sf.net
421IRC EFnet #dumb