LineIn plugin for Winamp 2/5
Up | Previous | Next | Down
NOTE: This plugin is no longer being developed, I AM most certainly still available for questions, suggestions and specific requests though.
For those who need it, I also have a development version that has some new (but unfinished) features:
- starting/stopping/pausing based on the amplitude of the incoming sound
- a more flexible channel map option (the number of input and output channels can now differ)
- the title can now be changed while playing by letting it depend on a file and changing the contents of this file
It also has some bugfixes, most notably related to the stime/sdate options. It's available here (mail me if you want the source code).
NOTE: This plugin is only for Winamp 2 and Winamp 5, NOT for Winamp 3.
My LineIn plugin for Winamp seriously improves upon Winamp's line-in capabilities. It supports any samplerate your device supports, it supports any number of channels your device supports (upto 32) and any number of bits per sample (upto 64, and it helps if it is aligned on an 8-bit boundary, although it is not required - by my plugin that is). You can also specify the size and number of buffers for optimal performance.
Starting at v1.30 it even supports a title, this means you can control the way it looks in your playlist!
My plugin supports just about anything you can think of that has standard wave audio or DirectSound drivers, in just about any format you can dream of (if you can find a real-life format that isn't supported by my plugin, please mail me).
I've had a lot of positive reactions and people have shown interest in my plugin, so I have put it on the internet, that way you don't have to wait for Winamp's site to display it.
I'm always running low on ideas, so any ideas would be very much appreciated.
The latest version is 1.80 (uploaded on August 6, 2002).
To download please click on the link:
- LineIn plugin v1.80 (217 KB) Readme (14 KB)
- This version has some bugfixes concerning the chnmap option, the hang-on-stop bug (finally it's fixed, no work-around needed anymore) and the VIS.
The biggest change however is in the title option and the format that some of the options, I have entirely rewritten the title expanding function, it's now much more flexible, but at the moment I haven't transferred all existing "codes" yet, so have a look in the documentation (the option reference) to see wether you need the old functionality (and also to see what has changed), if you do you can download it here (see the link below, LineIn plugin v1.80 - old expand).
The change in size is due to the fact I linked some libraries statically.
- LineIn plugin v1.80 - old expand (178 KB)
- This is the same as the above one, only with the old expand system.
Documentation (go here before asking any questions)
You can also download the documentation (as a set of html documents, identical to the online version) in a zip file by Clicking here
I also have a mailinglist (for updates and so on). To join it, just mail me (don't forget to mention you want to join the LineIn plugin mailinglist).
Current features:
- Inputs from any input device supported by windows (supports both standard API and DirectSound devices)
- Plays for a set time (now even from a set time and date)
- Full input format control
- Buffer control (now also for the output plugin)
- Full customizing of the title
- Has DSP and VIS support (for VIS, see known bugs)
- Supports option presets
- Supports device aliases
- Works on Windows 9x/ME, NT, 2000 and XP
Known bugs:
- v1.80 won't let you use
line://dev=d
, instead create an alias for the Primary Sound Capture Device (see the documentation) and use that, line://dev=dALIAS
for example.
- When you exit a VIS while using my plugin, Winamp might produce an error and exit (although I haven't heard of it in a very long time)
- Older-newer versions of my plugin have been known to cause IPFs (and similar errors). In some cases the reason is still unclear. (a lot of these errors should be solved with version 1.40) (I have not heard of this in a very long time)
- In some cases my plugin is known to lock-up Winamp, it is still unclear why this happens, but in some cases it might have something to do with the soundcard drivers (I have now implemented DirectSound support, partially to circumvent this problem, but even so, you might want to mail me with details) (I have now implemented an option that is turned on by default that will eliminate most lock-ups on stop) (I have now solved why those lock-ups occurred and fixed it)
Version history:
- v1.80 (August 6, 2002):
-
- made the plugin use ExpandLib (a lot of char*'s have become string's and it now supports a different - more flexible - syntax for the title)
- finally fixed the 'hang on stop' bug
- fixed the chnmap option (it behaved badly in some cases)
- fixed a bug that would cause problems with some VIS plugins (notably X-Plugin)
v1.71 (June 10, 2002):
-
- added an option to not reprepare waveheaders all the time
- added an option for a channel map (including a nochnmap option)
v1.70 (May 3, 2002):
-
- added an 'Add Location' Wizard
- changed the way aliases are stored, they are now stored by device name instead of id (more stable)
- changed the parsing algorithm (first parses all the options, then sets them, which makes it more stable; presets can now be used anywhere in the commandline; the plugin reports any options that were not recognized)
- cleaned-up the parsing rules (introduced the no(s)time and nosdate options; backslash can be used to quote something everywhere in the commandline now)
- made it possible to delete an alias (by giving it a zero string or by pressing del in the device list)
- made the alias edit window a little bit nicer to use (the alias textbox automatically gets the focus)
- made the plugin ask for confirmation when you delete a preset (or an alias)
v1.61 (February 8, 2002):
-
- added directsound error strings to ReportError (now doesn't show unknown error all the time for directsound errors)
- changed the layout of the error reporting messagebox a little (now always prints the error code)
- made a global setting to prevent hangs on stop
- removed the Sleep(10) command (eliminates a useless 10 ms delay in stopping)
- some minor changes to the code
v1.60 (December 22, 2001):
-
- changed all my code to c++
- added support for directsound devices
- added support for aliases (for both directsound and wave devices)
- put the devicelist on a tabcontrol, to support more than one type of devices
- fixed a little bug that caused time=10:00 to act like time=10
v1.51 (October 24, 2001):
-
- added the unmute, showformat, stereo and checks options to counter their original versions
- added the option of putting a - as a value for outbuflen and outprebuflen (resetting them to their defaults)
- added support for specifying more than one preset in one option string
- made sure that a presetloop won't cause the plugin to hang by allowing not more than 256 levels
- support for Del en F2 in preset list
- fixed the doubleclick bug in the preset list (it would open a preset dialog even if no preset was selected)
v1.50 (October 22, 2001):
-
- added the preset option
- reorganized the configuration dialog to accomodate a list of presets for the preset option
- added the sdate option
- added the nochecks option
- the srate, bps and nch options are now 'freeform', srate in the range 1-768000, bps in the range 1-64 and nch in the range 1-32, this also means that you can't use the shorthands for the common samplerates anymore
- bufsize now also supports specifying the size in time or samples
- bufsize can now be anything between 16 and 1048476 bytes / samples or between 1 and 10000 ms
- checks for a few possible misconfigurations
- added the nochecks option to make it possible to disable the checks mentioned above
- better error reporting
- a minor change to how buffers are freed on stop
- made some changes to the internal buffer handling
v1.42 (June 14, 2001):
-
- added the output (pre)buffer length options
- added the mono flag (more logical than nch=1)
- increased the maximum for numbuffers to 100 (better skip protection)
- better error handling
- some very small bugfixes
v1.41 (February 11, 2001):
-
- added a starting time
- added an option for mute
- two or three small bugfixes (concerning the title of entries not currently playing)
- code has been restructured (shouldn't be noticable to the users, but it is to me)
v1.40 (December 26, 2000):
-
- added the option to specify the device
- fixed some bugs concerning the title
- fixed a bug concerning pause
- fixed some strange bugs concerning stopping and starting the sound
- now checks a lot more things
- some clean-ups
v1.32 (December 12, 2000):
-
- fixed some bugs concerning the title (among other things I changed a certain counter mechanism)
- fixed some bugs concerning errors, Winamp used to produce an IPF or something similar when exiting after my plugin had caused an error
- made a check to see if the format that is specified is supported
v1.31 (October 22, 2000):
-
- fixed some bugs concerning the title
- fixed some bugs involving timing (playing for a set time now works)
- some other clean- and fix-ups
v1.30:
-
- added a short help to the config of the plugin
- added title support
- changed the way the time parameter works
- restructered some things
- FAQ and the readme have been fully updated
v1.23:
-
- removed all unnecessary code
including the thread that used to take care of the playing before 1.2
- recoded some stuff to improve it's efficiency
- removed the counter system introduced in 1.22 because it has proven pointless
- some minor bugfixes
v1.22:
-
- changed the way the counter works, now you can play for very long times (64bit integers)
- as a result the code has been improved a bit
- Windows 2000 support has been tweaked a bit
v1.21:
-
- tweaked version of 1.2
- added support for Windows 2000!
v1.2:
-
- changed how the plugin works (it doesn't buffer the sound anymore, because the buffering caused a lot of overhead)
- removed support for 441, it's a bit illogical (44 still works although)
- some minor bugfixes and code improvements
v1.1:
-
- more samplerates
- some more bugfixes
v1.0:
-
- added parameters
- added DSP support (needs 16 bps)
- added support to play for a certain time
- improved the getfileinfo (it nows displays something nicer in your playlist than "Line-In" or something even worse)
- some minor bugfixes and coding improvements
v0.0 (just to try if it worked), also known as the beta version:
-
Up | Previous | Next | Down
To contact me, please mail to: th.v.d.gronde@hccnet.nl
I hope you'll enjoy my program(s).