home *** CD-ROM | disk | FTP | other *** search
/ Posloucháme hudbu s programem Winamp / Poslouchame-hudbu-s-programem-winamp-covermount.bin / pluginy / input / LineIn_plugin_v1_51.exe / in_line-readme.txt next >
Encoding:
Text File  |  2001-10-24  |  22.4 KB  |  461 lines

  1.  
  2.     ==========================    =========================
  3.     LineIn input plug-in v1.51    made by Jasper v/d Gronde
  4.     ==========================    =========================
  5.  
  6. --------------------------------------------------------------------------------------------
  7.     General
  8. --------------------------------------------------------------------------------------------
  9. This plug-in makes it possible (which already was, but now you've got a bit more flexiblility) to let WinAMP use any device
  10. you plug into your computer, like a radio, microphone and anything else that you can record with Windows.
  11. To setup this plugin:
  12.     - install it (you've probably already done that)
  13.       WATCH OUT: the filename of the plugin has been changed from 'in_mic.dll' to 'in_line.dll' (around version 1.2) I
  14.       thought this was much more logical. So move or delete the old dll (in_mic.dll). Don't leave it in the plugin 
  15.       directory! To check look in the WinAMP preferences, if you've got two linein plugins (different version), WinAMP 
  16.       still sees the old one.
  17.     - plug any devices you want to use into your soundcard
  18.     - setup your Windows volume control:
  19.         - double-click on the little yellow speaker in the systray
  20.         - goto options\properties
  21.         - select Adjust volume for: Recording (watch in the list below that wether the devices you're interested in
  22.           are checked)
  23.         - adjust the volume settings to your likings and select the devices you want
  24.           Usually you'll want line-in (Line) because that's usually the good choice, but you if you want for example
  25.           to connect a microphone you have to select microphone. Sometimes you can also select devices that aren't
  26.           really devices, you can also use these.
  27.         - start WinAMP
  28.         - Open a URL. (see options)
  29.  
  30. IMPORTANT NOTE: Go to my site if you run into any problems (at the bottom of this text). Also any updates appear there first.
  31.  
  32. --------------------------------------------------------------------------------------------
  33.     Options
  34. --------------------------------------------------------------------------------------------
  35. To use the plugin open the following URL (Ctrl-L or Open URL in the WinAMP main menu or with a playlist add URL):
  36. line://[option1=value1,][option2,][etc.]
  37. The following options are available:
  38.  
  39. srate=x 
  40.     Determines the samplerate (default: 44100)
  41.     Can be one of the following (v1.42 and earlier): 
  42.         6000 (or 6) (v1.1) 
  43.         8000 (or 8) (v1.0) 
  44.         11025 (or 11) (v1.0) 
  45.         16000 (or 16) (v1.1) 
  46.         22050 (or 22) (v1.0) 
  47.         32000 (or 32) (v1.1) 
  48.         44100 (or 44) (v1.0) 
  49.         48000 (or 48) (v1.1) 
  50.         64000 (or 64) (v1.1) 
  51.     Remember that your soundcard has to support the samplerate! Especially 64000 isn't supported much.
  52.     For versions later than v1.42 (from v1.50) you can enter any samplerate between 1 and 768000 Hz, of course your
  53.     soundcard still has to support it.
  54.     From v1.50 the shorthands are not supported anymore.
  55.  
  56. bps=x 
  57.     Determines the number of bits per sample (default: 16)
  58.     Can be one of the following (v1.42 and earlier): 
  59.         8 
  60.         16 
  61.         32 (v1.23) 
  62.     32 bit sound isn't supported by a lot of soundcards.
  63.     For versions later than v1.42 (from v1.50) you can enter any value between 1 and 64 (although you will be asked
  64.     wether the plugin shall round the value up to the nearest multiple of eight if you don't enter a number that's a
  65.     multiple of eight, also the internal blockalign field will always use the rounded up value). Of course your soundcard
  66.     has to support it.
  67.     NOTE: My plugin supports 24bps sound from v1.50, but not every output plugin does, in my experience the waveOut and
  68.     DirectSound plugins do not handle it correctly. The DiskWriter plugin does handle it correctly though, as does my
  69.     own low-latency output plugin.
  70.  
  71. nch=x 
  72.     Determines wether the device is mono or stereo (default: 2)
  73.     Can be one of the following: 
  74.         1 (mono) 
  75.         2 (stereo) 
  76.     For versions later than v1.42 (from v1.50) you can enter any value between 1 and 32, again your soundcard has to
  77.     support it.
  78.  
  79. mono (v1.42) 
  80.     Same as nch=1
  81.     This parameter is like a flag.
  82.  
  83. stereo (v1.51) 
  84.     Same as nch=2
  85.     This parameter is like a flag.
  86.  
  87. time=x (was changed in v1.30) 
  88.     Specifies for how long the plugin should play (default: for ever) If it's not specified the plugin will play for
  89.     ever, it it's specified it will play for as long as specified.
  90.     Can be in the following form: 
  91.  
  92.         v1.0 upto v1.23: 
  93.             h:m:s[.hs] 
  94.                 for example: 2:30:5 will play for 2 hours, 30 minutes and 5 seconds 
  95.             m:s[.hs] 
  96.                 for example: 2:30 will play for 2 and a half minutes 
  97.             The previous two can be extended with .hs (for example 1:20.50 will play for 1 minute, 20 seconds
  98.             and 50 hundreds of a second). 
  99.             
  100.             s.hs 
  101.                 seconds.hundredsofseconds, so not just seconds, the plugin will interpret that as ms. 
  102.             ms 
  103.                 for example: 1200 will play for 1200 milliseconds (1.2 seconds) 
  104.  
  105.         v1.30 and up: 
  106.             h:m:s[.x] 
  107.                 for example: 2:30:5 will play for 2 hours, 30 minutes and 5 seconds 
  108.             m:s[.x] 
  109.                 for example: 2:30 will play for 2 and a half minutes 
  110.             s[.x] 
  111.                 for example: 1200 will play for 1200 seconds (20 minutes) 
  112.             They can all be extended with .x, which is interpreted as fractions of seconds. x will be rounded to
  113.             milliseconds.
  114.             For example 1:20.5 will play for 1 minute, 20 seconds and 500 milliseconds, half a second).
  115.             5.0025 will be rounded to 5.003 and 5.0024 will be rounded to 5.002
  116.             This format boils down to: [[h:]m:]s[.x] 
  117.  
  118. stime=x (v1.41) 
  119.     Starting time, when you use this the plugin will pause until it's the time you specified.
  120.     The format of the time is: h:m[[:s].x] (default: not set).
  121.     Example: line://stime=14:07,time=55:0,title=My favourite show!
  122.     Suppose it's 11:00 and you set this to play, the plugin will pause until it's 7 past 2 PM and then play for 55
  123.     minutes.
  124.  
  125. sdate=x (v1.50) 
  126.     Starting date, when you use this the plugin will pause until it's the date you specified.
  127.     The format of the date is: yyyy-m-d (default: not set, starting time will default to current time).
  128.     Example: line://sdate=2001-11-05,stime=20:07,time=55:0,title=That radio program I always wanted to hear!
  129.     Suppose it's November 4th, 2001 and you set this to play, the plugin will pause until it's 7 past 8 PM the next day
  130.     and then play for 55 minutes.
  131.  
  132. numbuffers=x (v1.23, changed in v1.42 and then again in v1.50) 
  133.     The number of buffers used. The plugin uses multiple buffers to reduce skipping and so on.
  134.     Has to be >=1 and <=1000 (default: 10, in versions previous to v1.42 the maximum used to be 50 and v1.42 has a
  135.     maximum of 100).
  136.     Recommended not to set this to 1, this will probably result in enormous skips. Recommended is a setting of 10 or
  137.     higher, but on a fast PC or if it's all you're running, less can decrease memory usage.
  138.  
  139. bufsize=x (v1.23, was changed in v1.50) 
  140.  
  141.     v1.23 upto v1.42: 
  142.         The size of the buffers used (in bytes). You can specify it to suit your needs.
  143.         Has to be >=576 and <=8192 (default: 3528).
  144.         A lower setting is better for VIS, a higher setting improves performance and prevents skips. So if you want
  145.         to do realtime VIS shows, use 576 (if you can).
  146.  
  147.     v1.50 and up: 
  148.         bufsize=[t|s]x
  149.         The size of the buffers used in bytes (only value, x), time ('t' plus value, tx) or samples ('s' plus value,
  150.         sx). You can specify it to suit your needs.
  151.         Has to be >=16 and <=1048576 for bytes and samples or >=1ms and <=10000ms in the same format as the time
  152.         option (10 seconds) for time (default: 4608 bytes).
  153.         Example (bytes): bufsize=2304 creates a buffer of 2304 bytes
  154.         Example (samples): bufsize=s576 creates a buffer of 576 samples, which equals 2304 bytes at 16bps, Stereo
  155.         Example (time): bufsize=t0.012 creates a buffer with a duration of 0.012 seconds, which equals 576 samples
  156.         or 2304 bytes at 48000Hz, 16bps, Stereo
  157.         A lower setting is better for VIS, a higher setting improves performance and prevents skips. So if you want
  158.         to do realtime VIS shows, use s576 (if you can).
  159.         NOTE: Previous to v1.50 I made a wrong assumption about the optimal VIS value, it should have been 576
  160.         samples instead of bytes, which is usually 2304 bytes. Therefor it is recommended to use s576 instead of 576
  161.         with v1.50 and up of my plugin.
  162.  
  163. title=x (v1.30) 
  164.     Specifies the title to show instead of Line-In. This does not replace the part (44100 Hz 16bps Stereo, buffers:
  165.     10x3528 bytes). To disable that use 'hideformat'.
  166.     Default is 'Line-In'.
  167.     This parameter can be very simple, just a name, like: My favourite channel But it also has support for more advanced
  168.     parameters. You can use the backslash (\) to quote a ',' (otherwise it's seen as a parameter seperator). Also you
  169.     can include variables in your title like the samplerate and so on.
  170.     For example: 
  171.         line://title=My favourite channel\, in %ct!,hideformat 
  172.     Gives (as a title) 
  173.         My favourite channel, in Stereo! 
  174.     DO NOT forget to quote the ','!
  175.     Some examples: 
  176.         line://title=My radio\, with a samplerate of %srHz
  177.         My radio, with a samplerate of 44100Hz (44100Hz 16bps Stereo, buffers: 10x3528)
  178.  
  179.         line://title=My radio\, with a samplerate of %srHz,srate=8000,hideformat
  180.         My radio, with a samplerate of 8000Hz
  181.  
  182.     Full list of variables (not all were implemented in v1.30): 
  183.         %sr - samplerate in Hz
  184.         %br - bitrate in KBps
  185.         %cn - number of channels (1 or 2)
  186.         %ct - number of channels (Mono or Stereo, or x channels for more than two channels in versions later than
  187.               v1.42)
  188.         %bi - bits per second
  189.         %ln - length in ms
  190.         %lt - length in the format: [[h:]m:]s[.x] (see the time parameter)
  191.         %bn - number of buffers
  192.         %bs - buffersize
  193.         %th - current time in hours
  194.         %tm - current time in hours and minutes
  195.         %ts - current time in hours, minutes and seconds (these options all use your own windows settings)
  196.         %tl - current time in milliseconds (this uses the same format as %lt)
  197.         %dl - current date, long format
  198.         %ds - current date, short format (these options use your own windows settings)
  199.         %st - starting time (same format as %ts)
  200.         %sd - starting date (same format as %ds)
  201.         %mu - muted (nothing if not muted)
  202.         %mt - muted (unmuted if not muted)
  203.         %ob - outbuflen (in ms)
  204.         %op - outprebuflen (in ms)
  205.         %ot - outbuflen (in time format, [[h:]m:]s[.x])
  206.         %ou - outbuflen (in time format, [[h:]m:]s[.x])
  207.         %ck - wether the plugin performs the format checks (see the nochecks option) ('checks' or 'no checks')
  208.         %di - the device ID (corresponds to the dev option)
  209.         %dn - the device name (corresponds to the dev option)
  210.         %xNN - inserts a char with ASCII code NN (hex), for example %x20 for a space, or %x07 for a bell (don't
  211.                know why you'd want that, but it's possible)
  212.     If there are any other things you would like to see added to this list, just mail me. 
  213.  
  214. hideformat (v1.30) 
  215.     Hides the part of the name that specifies the format used. This is meant to be used together with title, but also
  216.     for those of you who just don't like to see the format.
  217.     The default is: not set. This is not a parameter which takes a value. It's more like a flag.
  218.  
  219. showformat (v1.51) 
  220.     Shows the part of the name that specifies the format used. This is meant to be used to undo hideformat (which you
  221.     might have set in a preset.
  222.     The default is: set. This is not a parameter which takes a value. It's more like a flag.
  223.  
  224. dev=x (v1.40) 
  225.     The device to use.
  226.     For the list of possible numbers, see the config box. (default: -1, the wave mapper)
  227.     This is NOT a replacement for windows volume control, this is meant to make it possible to use things like a
  228.     Virtual Audio Cable.
  229.     NOTE: Versions older than 1.40 of my plugin used device 0 instead of -1.
  230.     This means that if you didn't have sound at all with an older version of my plugin, and you've got more than one
  231.     sounddevice (two soundcards or one soundcard and for example Virtual Audio Cable), this might solve your problem.
  232.  
  233. mute (v1.41) 
  234.     This will mute the sound, that means that the plugin won't output anything (actually just zeros). The VIS and DSP
  235.     are fed with data however.
  236.     The default is: not set. This is like a flag.
  237.  
  238. unmute (v1.51) 
  239.     This will unmute the sound, this is to undo the effects of the mute option (which might have been set in a preset).
  240.     The default is: set. This is like a flag.
  241.  
  242. outbuflen=x (v1.42) 
  243.     The output buffer length in ms (format: h:m[[:s].x]).
  244.     The default is: -1 (specify 0 for the default value of the output plugin)
  245.     From v1.51 you can also specify - (a minus sign) as a value, this will counter the effect of a previous outbuflen 
  246.     option (which might have been inside a preset). It will also set the outprebuflen option back to -1.
  247.     This option is meant for tweaking purposes, it should set the output plugin's buffer size, but my plugin can't
  248.     garantuee that it does (the output plugin has to implement it).
  249.     NOTE: This value should be higher than or equal to outprebuflen.
  250.  
  251. outprebuflen=x (v1.42) 
  252.     The output prebuffer length in ms (format: h:m[[:s].x]).
  253.     The default is: -1 (specify 0 for the default value of the output plugin)
  254.     From v1.51 you can also specify - (a minus sign) as a value, this will counter the effect of a previous outprebuflen 
  255.     option (which might have been inside a preset). This will not set the outbuflen option back to -1.
  256.     This option is meant for tweaking purposes, it should set the output plugin's prebuffer size, but my plugin can't
  257.     garantee that it does (the output plugin has to implement it).
  258.     NOTE: This value should be lower than or equal to outbuflen.
  259.  
  260. nochecks (v1.50) 
  261.     A flag to disable the format checks (means you won't get any messages telling you that your buffer size could crash
  262.     WinAMP or that your bits per sample is not a multiple of eight), can be usefull if you have a setup that supports
  263.     20bit sound or want to use a very small buffer size.
  264.     Default: not set.
  265.  
  266. checks (v1.51) 
  267.     A flag to counter the effect of a previous nochecks option (which might have been set in a preset).
  268.     Default: set.
  269.  
  270. preset (v1.50) 
  271.     This lets you use a preset, for example you could create a preset (see the Customizing section) called radio that
  272.     would contain the following: 
  273.         srate=32000,mono,title=My radio,hideformat
  274.     After you've created the preset the following two would be equivalent: 
  275.         line://srate=32000,mono,title=My radio,hideformat
  276.         line://preset=radio 
  277.     Of which the second one would be a lot easier to type than the first.
  278.     Default: not set.
  279.     NOTE 1: When you create a preset you can use a the preset option within the preset, but you should use this option
  280.             with care, if you create a loop, the plugin will hang! (only in v1.50, v1.51 will automatically stop
  281.             processing the parameters)
  282.     NOTE 2: The preset option MUST be the first option specified, otherwise it won't be recognised. From v1.51 you can 
  283.             specify a preset option after another preset option, which would look like this (for example):
  284.                 line://preset=somepreset,preset=anotherpreset,preset=thirdpreset,srate=32000
  285.     You can specify more options after the preset option, this allows you to make one general preset that specifies
  286.     certain things and then customize it a little when you use it, for example you might have created a preset called
  287.     'vis' containing: srate=48000,bufsize=s576,title=Good VIS.
  288.     Now you want to use that preset with a 96000 Hz source, all you have to do is this: 
  289.         line://preset=vis,srate=96000
  290.  
  291.  
  292. Some recommended settings:
  293. Radio (Good quality, FM):    line://nch=1,title=FM Radio,hideformat
  294. Radio (Bad quality, AM):    line://nch=1,bps=8,srate=32000,title=AM Radio,hideformat
  295. Stereo equipment (no VIS):    line://title=Stereo (no VIS),hideformat,bufsize=8192,numbuffers=50
  296. High Quality (VIS)        line://srate=48000,numbuffers=5000,bufsize=s576,title=High Quality (VIS),hideformat
  297.  
  298. These numbers are a bit random, but they give an idea of the use of the parameters. The best
  299. way to determine your optimal settings is just to try it, for example some people like low
  300. quality music (it's a warmer sound or they have hearing problems).
  301.  
  302. If you get an error that the format is not supported, first try setting the samplerate lower.
  303.  
  304. Some pointers:
  305. - Do not set srate too high, you usually don't need it. If you just turn it on during work
  306.   a setting of 32000 will suffice and it produces less skips.
  307. - Do not think that stereo will always be better. For example most radio's (if not all) are
  308.   mono and to play that with stereo input is not nice.
  309. - If you don't use the VIS, set the bufsize high. This improves the performance.
  310. - It doesn't hurt to set a high number of buffers, only on (very) low memory systems this
  311.   isn't advisable.
  312. - Not all soundcards are able to produce all bitrates, especially 64000 Hz, if you get errors
  313.   using this samplerate, just use 48000 (or lower). Also 32bps (and 24bps) is very uncommon, so if you
  314.   get errors using it, just use 16bps.
  315.  
  316. --------------------------------------------------------------------------------------------
  317.     Some info on sound
  318. --------------------------------------------------------------------------------------------
  319. To be able to tune your settings it's handy to now something about the way the sound is
  320. input.
  321. To understand some of this you need to know that sound consists of vibrations. So for
  322. example a frequency of 1000 Hz means that there are a 1000 vibrations per second.
  323.  
  324. The samplerate specifies the number of samples taken per second. This influences which
  325. frequencies can be measured. For example: with a samplerate of 44100 frequencies upto
  326. 22050 Hz are recorded well. Higher frequencies will tend to fall between the measurements.
  327. People can usually hear frequencies upto about 22000 Hz.
  328.  
  329. 'Bits per sample' or bps specifies the number of bits are spent on describing the altitude
  330. of the wave. So the more bits the better the quality.
  331. Note: the 32bps is a setting I saw in CoolEdit, so I've added it for the ones that support
  332. it, but as far as I know it's at the very least an unusual setting.
  333.  
  334. The amount of space taken by samples is calculated with the following formula:
  335.  
  336. B=SRATE*NCH*(BPS/8)*S
  337.  
  338. B=Number of bytes filled in buffer
  339. SRATE=Samplerate
  340. NCH=Number of channels (1 for Mono and 2 for Stereo)
  341. BPS=Bits per sample (is divided by 8 to get bytes)
  342. S=number of seconds
  343.  
  344. Example:
  345. Default setting for one second.
  346.  
  347. B=44100 * 2 * (16/2) * 1
  348. B=44100 * 2 * 2
  349. B=44100 * 4
  350. B=176400
  351.  
  352. You can use this to get an idea of what the buffersize is (default: 0.02 secs or 20 ms).
  353.  
  354. --------------------------------------------------------------------------------------------
  355.     History of versions
  356. --------------------------------------------------------------------------------------------
  357. v1.51:
  358.     - added the unmute, showformat, stereo and checks options to counter their original versions
  359.     - added the option of putting a - as a value for outbuflen and outprebuflen (resetting them to their defaults)
  360.     - added support for specifying more than one preset in one option string
  361.     - made sure that a presetloop won't cause the plugin to hang by allowing not more than 256 levels
  362.     - support for Del en F2 in preset list
  363.     - fixed the doubleclick bug in the preset list (it would open a preset dialog even if no preset was selected)
  364.  
  365. v1.50:
  366.     - added the preset option
  367.     - reorganized the configuration dialog to accomodate a list of presets for the preset option
  368.     - added the sdate option
  369.     - added the nochecks option
  370.     - the srate, bps and nch options are now 'freeform', srate in the range 1-768000, bps in the range 1-64
  371.       and nch in the range 1-32, this also means that you can't use the shorthands for the common samplerates anymore
  372.     - bufsize now also supports specifying the size in time or samples
  373.     - bufsize can now be anything between 16 and 1048476 bytes / samples or between 1 and 10000 ms
  374.     - checks for a few possible misconfigurations
  375.     - added the nochecks option to make it possible to disable the checks mentioned above
  376.     - better error reporting
  377.     - a minor change to how buffers are freed on stop
  378.     - made some changes to the internal buffer handling
  379.  
  380. v1.42:
  381.     - added the output (pre)buffer length options
  382.     - added the mono flag (more logical than nch=1)
  383.     - increased the maximum for numbuffers to 100 (better skip protection)
  384.     - better error handling
  385.     - some small bugfixes (memory leakages, etc.)
  386.  
  387. v1.41:
  388.     - added a starting time
  389.     - added an option for mute
  390.     - two or three small bugfixes (concerning the title of entries not currently playing)
  391.     - code has been restructured (shouldn't be noticable to the users, but it is to me)
  392.  
  393. v1.40:
  394.     - added the option to specify the device
  395.     - fixed some bugs concerning the title
  396.     - fixed a bug concerning pause
  397.     - fixed some strange bugs concerning stopping and starting the sound
  398.     - now checks a lot more things
  399.     - some clean-ups
  400.  
  401. v1.32: 
  402.     - fixed some bugs concerning the title (among other things I changed
  403.         a certain counter mechanism) 
  404.     - fixed some bugs concerning errors, winamp used to produce an IPF or
  405.         something similar when exiting after my plugin had caused an error 
  406.     - made a check to see if the format that is specified is supported 
  407.  
  408. v1.31:
  409.     - fixed some bugs concerning the title
  410.     - fixed some bugs involving timing (playing for a set time now works)
  411.     - some other clean- and fix-ups
  412.  
  413. v1.30:
  414.     - added a short help to the config of the plugin
  415.     - added title support
  416.     - changed the way the time parameter works
  417.     - restructered some things
  418.     - FAQ (see my site) and this readme have been fully updated
  419.  
  420. v1.23:
  421.     - removed all unnecessary code
  422.       including the thread that used to take care of the playing before 1.2
  423.     - recoded some stuff to improve it's efficiency
  424.     - removed the counter system introduced in 1.22 because it has proven pointless
  425.     - some minor bugfixes
  426.  
  427. v1.22:
  428.     - changed the way the counter works, now you can play very long (64bit integers)
  429.     - as a result the code has been improved a bit
  430.     - Windows 2000 support has been tweaked a bit
  431.  
  432. v1.21:
  433.     - tweaked version of 1.2
  434.     - added support for Windows 2000!
  435.  
  436. v1.2:
  437.     - changed how the plugin works (it doesn't buffer the sound anymore, because the
  438.         buffering caused a lot of overhead
  439.     - removed support for 441, it's a bit illogical
  440.     - some minor bugfixes and code improvements
  441.  
  442. v1.1:
  443.     - more samplerates
  444.     - some more bugfixes
  445.  
  446. v1.0:
  447.     - added parameters
  448.     - added DSP support (needs 16 bps)
  449.     - added support to play for a certain time
  450.     - improved the getfileinfo (it nows displays something nicer in your playlist than
  451.         "Line-In" or something even worse)
  452.     - some minor bugfixes and coding improvements
  453.  
  454. v0.0 (just to try if it worked):
  455.     - just support to play
  456.  
  457.  
  458. Jasper van de Gronde
  459. th.v.d.gronde@hccnet.nl
  460. http://home.hccnet.nl/th.v.d.gronde/ (watch the site for updates and so on)
  461.