Old 31st August 2005, 09:32   #41
Join Date: Sep 2003
Posts: 27,873
and we may even get some documentation for a few more things (especially the new ones) if someone releases the new api's to me before final release

DrO is offline  
Old 14th September 2005, 18:15   #42
Senior Member
dllmain's Avatar
Join Date: Sep 2005
Location: Berlin, Germany
Posts: 207
error in in2.h?

i'm not sure but i think there is an error in "in2.h":
i think
void ( * VSASetInfo )( int nch, int srate );

should be
void ( * VSASetInfo )( int srate, int nch );

correctly. at least in_mp3 seems to send the samplerate as first parameter. could anybody check this please?

Last edited by dllmain; 14th September 2005 at 19:05.
dllmain is offline  
Old 19th September 2005, 05:53   #43
Senior Member
Logy's Avatar
Join Date: Jun 2004
Location: Terengganu, Malaysia, Asia, Earth
Posts: 302
just a suggestions... when windows sdk 5.1 is ready when it is ready... i would like it uploads on Deveploment Nullsoft pages (NSDN)..... it a years ago not update and it is would nice... when it get update...
until then happy coding day...

The English suffix -logy denotes a field of study or academic discipline.
Logy is offline  
Old 18th October 2005, 18:46   #44
Borg Number One
Join Date: Sep 2002
Posts: 62

The Winamp 5.04 SDK is moch more impressive and usefully than the original one.
Great work!!!!

However, there is one huge thing missing:

Winamp is shipped with many plug-ins, which can
+ handle compressed archives as directories to play files from the archives without using additional unpackers.
+ handle certain areas in (game related) container files as stand alone tracks and play them.

These plug-ins...:

+ Nullsoft MIDI Player 3.07 (older versions too) [in_midi.dll]
+ Nullsoft Module Decoder v2.2.11 (older version too) [in_mod.dll]
+ Winamp2 SPC player plugin v2.07 [in_spc.dll]
+ Winamp2 TFMX Player 1.25 /TFMX plugin v1.25 for Winamp2 [in_tfmx.dll]
+ Winamp2 VQF Decoder v1.12a [in_vqf.dll]
+ Winamp2 Waveform Decoder [in_wave.dll]

...are able to play files/tunes in arj,gzip,rar and zip archives with the help of:

It would be great, if there would be information inside the SDK about:

"How to use "read_file.dll" in self-made plug-ins?"

I could figure out, that one command/call/function
seems to be really important for the mentioned input plug-ins to play files in compressed archives:

+ readerSource

The input plug-in in_midi.dll is able to convert (exotic) MIDI file formats to other / compressed MIDI files.
So, it additionally uses the commands:

+ RF_create
+ gzip_writefile

All three functions can be found inside the "read_file.dll".

Software like: Dependency Walker are able to display C/C++ functions which an
executable file / library / screensaver...
offers/exports and uses/imports.

offers all three mentioned functions:

How to use the read_file.dll in own plug-ins?

I am also thinking about re-building the read_file.dll and adding more features,
like new archive formats (e.g. ACE, 7ZIP)

Last edited by Borg Number One; 18th October 2005 at 19:37.
Borg Number One is offline  
Old 19th October 2005, 12:19   #45
Passionately Apathetic
CraigF's Avatar
Join Date: May 2000
Location: Hell
Posts: 5,435
there was some talk about this a very long time ago. primarily because its quite useful. but if i remember it was mostly talked down because the file is not available in all installation configurations, mostly due to distribution size.

CraigF is offline  
Old 19th October 2005, 18:49   #46
Borg Number One
Join Date: Sep 2002
Posts: 62

file is not available in all installation configurations
The read_file.dll is part of Winamp since version 2.7
and it can be found in the Plug-ins directory.

Winamp 5.1 and many of its shipped plug-ins still use the read_file.dll.

That is really great!!!

Well, in an old read_file.dll documentation I could read,
that Peter Pawlowski introduced the read_file.dll when Winamp3 was developed.


read_file.dll, build 01/25/2002
(c) 2001-2002 Peter Pawlowski, http://www.blorp.com/~peter/

This dll is a part of winamp setup; it is used by my input plugins to read
compressed files. in winamp3, all input plugins will use access local files via
read_file.dll so you will be able to play zipped mp3s for an example. Of course,
it also reads regular non-compressed files.
You are not allowed to redistribute this DLL anywhere without my permission.

currently supported formats are:
- zip and gzip (powered by all-time great ZLIB)
- rar (powered by UnRAR source code)
- arj (powered by UnARJ source code)

plugins that support read_file.dll:
- in_midi (in winamp setup)
- in_wave (my one, not Nullsoft's plugin from Winamp setup)
- in_vorbis (will be in the next winamp setup)
- in_mod (updated version will be in the next Winamp setup)
- in_vqf
- in_spc
- in_tfmx

most of plugins listed above can be found on my web site

read_file.dll's major purpose is to decompress compressed mods /
midis (archives containing single file) 'on the fly'.
the file is being completely decompressed into memory while opening.
be careful with this stuff - if you compress 50-meg wav, you will need 50 megs of
free RAM in order to play it and it will take several seconds to open it.

new versions have some other features:
- CD letter detection - replace drive letter with # character,
eg. "#:\main.mix" and read_file.dll will automatically scan all drive letters for that file.

- partial file access - eg. "partial://xxxxxxx-yyyyyyyy:x:\dir\file.ext\file.mid" where :
xxxxxxxx - start offset in hex (must be 8 characters!), yyyyyyyy -
end offset in hex, x:\dir\file.ext - path of file,
file.mid - 'display name' of file (most input plugins will recognize it as file name);
extension is important to make sure that proper input plugin opens the file. example: install my in_wave,
insert Red Alert CD1 english and open "partial://188391D4-18C4BEC0:#:\main.mix\Hell March.aud".

- zip/rar file extraction - eg. "c:\music\spc\FF5.rar\ff5-1-01.spc".
you can compress all your SPCs with RAR and create playlists referencing RAR files;
this will save huge amounts of disk space (about 30 megs for me).

TIP: if you want to compress whole directory of files, append '.rar' (or '.zip') to its name,
then create big playlist with files in it, save it in parent directory, remove '.rar' ('.zip') extension,
compress contents with rar/zip (make sure that rar/zip file name is the same as
altered directory name before) and put rar/zip file in parent directory (where your playlist is).

*** Using read_file.dll in your plugins ***
Read_file.dll is based on pre-released Winamp3 specs (Tempura).
It should even still work with Tempura. (Almost) complete specs were inside
Winamp3 pre-sdk which used to be available on NSDN - http://www.winamp.com/nsdn/ (and might be still there).
Exported symbol is int readerSource(HINSTANCE ,reader_source**) (this is not mentioned in Tempura specs).


So, I looked for Winamp3 SDK stuff and I found following executables:

After unpacking both executables into two different directories,
I looked for files which contain strings like:
"reader_source ; read_file ; readersource"

and I found following source/example files:
+ core_api.h
+ wa2.cpp

They seem to contain detailed descriptions about how to use the read_file.dll.

Now, it would be great if the next Winamp SDK release would
also contain the retrieved information,
wich would be necessary to add read_file.dll support to self-made plug-ins.
Borg Number One is offline  
Old 4th July 2006, 10:42   #47
Junior Member
Join Date: Dec 2003
Posts: 11
It's a long time ago, when an SDK was released. Is there a chance that there will be a new version in the near future?
pinterpeti is offline  
Old 4th July 2006, 11:31   #48
Passionately Apathetic
CraigF's Avatar
Join Date: May 2000
Location: Hell
Posts: 5,435
A new SDK will be released eventually.

A lot of winamp internals are changing at the moment (specifically with regards to unicode as a couple of people have noticed), so obviously all these functions would need to be documented.

CraigF is offline  
Old 23rd January 2007, 14:03   #49
Junior Member
Join Date: Feb 2006
Location: Sweden
Posts: 17
Send a message via ICQ to IceBear
When is a new SDK available, and where ?
Im stuck with 5.02
Any link for newer releases I found, does not work
IceBear is offline  
Old 23rd January 2007, 16:14   #50
Passionately Apathetic
CraigF's Avatar
Join Date: May 2000
Location: Hell
Posts: 5,435
Right at the top of this forum:


CraigF is offline  
Closed Thread
Go Back   Winamp & SHOUTcast Forums > Developer Center > Winamp Development

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump