
SPR Multimedia Jukebox - Your mIRC add-on for multimedia files
  written by SpinoC

Copyright (C) 2000 by darkrealms.org
  maintained by spradmin@spr.darkrealms.org since 2nd Dec 2000.


    To obtain the latest copy of this file, please visit our website at
    http://spr.darkrealms.org and get the newest version of SPR JukeBox.
    Thank you!



CHANGES IN SPR (since v7.51)

    [8.7 rc4]
    - @find now tells the searching user how many files we actually
      have if there are too many results, i.e. it will say
      "too many results- only 5/174 displayed, getting my list recommended"
    - raised the number of @find replies from 5 to 10
    - fixed conflict with ircN (ctcp's being displayed twice)
    - replaced the check for mIRC32.exe with $mircexe- found out pretty
      late about this identifier
    - When updating the top X download chart, of course more than X
      files must have been downloaded. When someone tried to update
      and less than X files had been downloaded, SPR would give the
      wrong error message- telling that NO files had been downloaded
      (instead of "not enough files have been downloaded"). (TOWIM)
    - rewrote a lot of the on load process (yet again).
      SPR can now loaded from any directory, not only the main mIRC dir
      any more. The important thing is that *ALL* files from the zip
      have to be unzipped to the *SAME* directory. This can be the
      main mIRC dir or another directory, it doesn't matter.
      Just like with the older 8.7 versions, the files will be copied
      to mIRC\spr; the files will be deleted where they have been
      unzipped to, and SPR will be reloaded from the mIRC\spr location.
      NOTE: You can also unzip SPR to mIRC\spr. Of course, in this case,
      files are not moved anywhere, nor deleted; also, the reload is
      not necessary.
      Although this was always on my mind, I began to work on it because
      of an email that I've got from Lich@#ircscripting (GalaxyNet)
    - switched some occurrences of $?* to $input since $?* might be
      gone soon.
    - Added something new to the on load process:
      SPR will now ask if you want to import settings from an old
      version of SPR. This includes the directory setup and the
      multimedia input setup. It is planned to include the channel
      setup as well as some information stored in sprcounter.ini,
      however not all settings will be switched over.
    - The "bug" that Khaled fixed in /drawrect (and other commands) about
      font size probably broke a lot of scripts.
      SPR now uses "small fonts" for parts of the SPR Remote since
      "Arial 8" is too big. Hopefully this won't cause any problems
      (not sure wheter or not this is a standard-font).
      Also, all other Arial font-sizes have been re-set to correct
      values. Note that because of this fix, rc4 only works with 
      mIRC 5.91. (iceNfire)


    [8.7 rc3]
    - added "!nick" missing in filelist ([-Q-])
    - added "how to download" to the top X download chart (SURFBoard)
    - changed "Processing..." stuff in the top download chart to how I
      made it look like in the lister
    - files with double spaces will not be listed in the file-list
      (no more files with ".0" filesize)
    - dbsp-window does not close after 5 seconds any more (Sys_Error)
    - SPR would ask for mIRC executable twice on load if it wasn't
      named mIRC32.exe (guilty of not testing the code in rc2 :-P)
    - SPR will now attempt to read your player's location from the
      registry (first suggested by r3, then by Kavey)
      Hopefully we won't have problems if the winamp-path contains spaces.
    - added a check wheter or not a skin is loaded (check for *.skn);
      if none is loaded, try to load default.skn. If it doesn't exist,
      disable SPR.
    - applied some of Kavey's fixes for missing id3/bitrate information.
    - Variables will be set to N/A / unknown time if the information
      cannot be retrieved.
    

    [8.7 rc2]
    - @find replies contained $chr(160) instead of $chr(32) (iceNfire)
    - list wasn't really sorted alphabetically- I had to change the lister
      quite a bit. also changed the "processed files" to a nifty new output
      (lots of people complained about it- more than I ever imagined :-P)
    - mpscan wasn't playing files when used in random-play-session (iceNfire)
    - @find replies contained full pathnames
    - spr didn't unload spr-dll's (zipdll, listbot) when updating (iceNfire)
    - didn't unload DLL's on script unload either
    - INSTALL.TXT still mentioned mIRC 5.71 as a requirement (Fuzz)
    - colors were weird when using a black background (Fuzz)


    [8.7 rc1]
    This has been a big one
    - Did a lot of code-cleanups. I hate 'goto' calls. While loops live
      everywhere :-)
    - Tried to use local variables whenever it made sense.
    - Rewrote the on LOAD part. Now does some additional checks, the most
      important checking for files before copying them
    - switched .ini-files to .mrc-files
    - added some more stuff to on LOAD to get rid of old, unneeded files
    - "help" popup now opens our webpage :-)
    - on LOAD now has a status-window
    - distribution now includes 2 dll's.. zipdll.dll and listbot.dll
    - rewrote the WHOLE listbot.. is now called spr-list.mrc. Uses listbot.dll
      for file- and id3 info (and ONLY  for that!).
      * no more 32,767 problem!
      * more efficient.. although, since I do not count files, I can't show
        process with a progressbar, so I had to show each X files being
        processed or the user would think the listmake hung up :-(
      * more accurate ID3/file-info
      * now creates a hashtable... used for "@find" and "!nick file" triggers
    - got rid of winzip.. now use zipdll.dll for that.
    - had to rewrite produce.list, list.done and spr.ziplist
    - completely rewrote @find. now uses the hashtable.
      Problem: $hmatch seems to be unable to match 'special' characters...
      -> @find will not answer to some requests (containing characters like
          etc).
    - rewritten some parts of spr-inf.
    - added check for mIRC32.exe (dumb scripts like to rename it as it fits their
      needs)
    - fixed on load loop bug (thanks to Jimbo_256)
    - removed debug message in @find-code *blush (thanks to SpR_Tester)
    - some issues concerning $exists, another annoying listmake var-typo

    [notes]
    - lockup problem has NOT yet been solved, working on it (lack of time)
      remember to fix /mpscan as well
    - rand.range, randmp3 seem to make problems at times- have not been able to
      reproduce them just yet
    - auto-close of dcc send windows and auto-minimize would be cool
      (uhh.. [options] .. mIRC $version checks..)
    - printable list



    [8.6]
    Version number has been incremented to reflect that this version is
    no more "unofficial".
    - fixed bug within the skin editor where it failed to reload
      skins
    - included bugfixes that had been fixed by SpinoC between 8.4 and
      8.4b (didn't know of the existence of 8.4b when releasing 
      8.5-unofficial, since 8.4b wasn't on the old SPR website).
    - fixed a bug where SPR wouldn't warn about the mIRC dir containing
      spaces.
    - fixed some minor typos.
    - included various new / updated documents within the SPR zip:
      SPRREADME,
      INSTALL,
      COPYING,
      CHANGES (this file).



    2nd-Dec-2000
    SpinoC transfers SPR Copyright to darkrealms.org.



    [8.5-unofficial]
    - fixed SPR site URL within the script
    - made SPR mIRC 5.8-compatible. Winamp would not play files, it looks
      like a parse-bug within the first arguments of /run
    - fixed playlist bug.



    Changes below are by SpinoC, SPR creator.

    [8.4b]
    I stopped scripting. But there was some incident by which Korean mp3 
    channels had to move to another network. And some confusion in script 
    was created. I had to fix this. 
    But, I also knew there was some minor bug concerning the top download 
    hitchart (you couldnt destroy the data and the date didn't change).
    So I fixed this in this version.
    Except these two things there is no difference at all from the 
    previous version. And I will not upgrade unless something this 
    critical happens. 
    Sorry for quitting.


    [v8.4]
    0. I realized that my popularity got just better. In fact, so better 
       that some fake SpinoC registered my nick on dalnet nickserv and 
       made some fake spr 8.4 and distribute it (If you are the one who 
       did it, shame on you!) Anyway, please always go to 
       http://spr.darkrealms.org to get the newest SpR Jukebox. You 
       can't trust anyone.
    1. v8.31 was compatible with the new mirc v5.7. However, there were a 
       few problems. Fixed them all.
    2. From v8.4, it is only for mIRC 5.7 or higher. Not for any lower 
       versions of mirc. 
    3. Now you can control your send speed. You can set highest cps limit 
       for each send. This means if you send 5 slots and set 2000 cps for 
       highest cps limit, the total will not go over 10000 cps. It only 
       matters when you send one, meaning if you send one without highest 
       cps limit and later change, it won't reduce the speed of the 
       previously sent one. But this is not bad, because you can also 
       temporarily turn it off and send to someone without limit, and then 
       turn it back on.
    4. General setup dialog has a new look.


    [v8.31]
    1. A bug fix for getright. Some of ppl may have experienced that
       getright stops downloading on rare occasions. Fixed.
    2. I decided to restore the strategy 1 and 2 for getright. But their
       contents are different. 
   
       Strategy 1: It requests the 2nd file as soon as you are getting
                   the 1st file, and you get into que early.
       Strategy 2: It, on the contrary, waits for the 1st file to be
                   completed before it requests the 2nd. 
       Strategy 2 is only good when server allows 2 slots per user and
       you are getting big files so that you need to concentrate on one
       file to overcome the cps limit for larger file (like mpg).
       Generally speaking, strategy 1 is much more efficient. 
    3. A bug fix for iedit.skn. The playtime, if you put &time& right
       after ctrl+k+number, is misrepresented. Fixed.
    4. Top download chart was mirc intensive if you set the number of 
       songs to a larger number (like 150 top downloads). Some large
       servers had some trouble with updating their download hitchart.
       Now it will update with another mirc open just like the regular
       list update. So there is practically no limit to the number now.


    [v8.3]
    1. Improved Getright! 

    The weakest point in the former getright is: 
    If you choose strategy 1, it won't request the 2nd file or get into
    que with it until you finish the first file; as a result, if the
    target server is busy (i.e., if it doesn't always have an empty
    slot), your download is slowed down, meaning you have to wait in que
    until another empty slot is ready.
    If you choose strategy 2, there will be some incomplete files. This
    was the reason why it was not recommended.

    Now I have put the two together in the way that it will send the 2nd
    request as soon as you start to get the first file (so either you get
    into que quickly or start downloading the 2nd file if the server
    allows you to); however, there will be no incomplete files.
    It will also try to avoid to send redundent requests. In any case,
    this getright is smarter than ever; it simulates the way you think!
    As a result, it speeds up your downloads enormously because it
    shortens the time period between the downloads of files.

    2. Also I got rid of the dcc protection for getright. It will
       automatically receive the files from the target server and will
       handle others according to the default mirc setting. 
       This means there is *** no /tgdcc anymore *** And you can get any 
       files from anyone while you are in getright session without typing
       /tgdcc.

    3. You can set the script to auto ban users from your server if they
       violate low cps limit 3 times in 1hr. It will warn for the 1st and
       2nd time.
       The ban can be removed by the following 3 things. 1) the user
       reconnect to isp, NOT irc. 2) you reboot your mirc. 3) You
       manually remove the ban from channel popup -> jukebox -> server
       ctrl -> access ctrl
       In order to prevent the servers from abusing this ban, I made a
       maximum limit (2000 cps) for low cps limit for smaller files.
       (this actually makes a sense cuz the cps limit for larger files
       cannot come below 2000)
       *** This rule only applies to low cps limit for smaller files.

    4. A few typos fixed.


    [v8.211]
    0. Got rid of the space limit for list/slot and cd part in list/slot
       ads setup dialog (but you should be careful because if msg is too
       long the server will cut it off)
       (Sorry for quick upgrade, but this one will last, say, for a few
       months. So dont be so upset :) 


    [v8.21]
    0. Bug fix. Sorry


    [v8.2]
    1. Playlist: You can "-file" many files from playlist at once
    2. Popup in Channel: rearranged the tools and the server ctrl
    3. Display setup: when you put something numeric right after ctrl+k,
       it misrepresented the item. Fixed
    4. List/Slot Ads: Completely Customizable! Got rid of 3 and 5 lines 
    5. CD List Ads: will display cds on line if you set up &cdonline& in
       List/Slot Ads Setup Dialog
    6. Multi-Media Setup: Will now differentiate output to mp3 mp2 mpg
       mpeg (it used to be treated as one in .mp?) This is necessary
       because there are ppl who serve .mpg yet they don't want to run
       the file with winamp.


    [v8.1]
    1. bug fix: filename editor left an empty sprtmp dir if you use
      "replace" feature. Fixed
    2. Now spr has auto start "on blast" as well as "on mute". If you
       choose "on blast", spr will start play songs on join of main chan.
       However, you have to remember that if you check "on blast" it will
       play even if you are away from keyboard. This could annoy your
       mother big time LOL.
       You can configure this by going to setup -> general -> on join
       auto start (/ow.spr 1)
    3. Now spr will start auto start with playlist IF you were playing
       songs from playlist previously AND there is one or more songs in 
       your playlist.        Otherwise it will start random play.
    4. The list producer will check if you have any file which has a
       double space in path or filename. If there is any, the script will
       open a window and display there. Script cannot play, send, or
       correct double spaced filenames. So you have to open window 
       explorer and fix manually. Also, you will have popup on the window
       "explorer" (right click on the window)


    [v8.02]
    1. bug fix: getright 1) didnt update if spr of the server person is
       very old. fixed 2) didnt continue to download if filename has
       spaces. fixed.
    2. bug fix: skin editor. didn't produce .skn file but .skns fixed
    3. There is a fatal bug, which I can't publicly talk about, in all
       the previous spr versions. (can be used by malicious users) You
       have to upgrade. This is a MUST.


    [v8.01]
    1. In the filename editor, you could not replace parameter 1 with 2
       if parm1 is entirely included in parm2. (e.g., celine_dion couldnt
       be replaced with (celine_dion)) But now you can replace it. So, NO
       LIMIT for replacing anymore.
    2. In the filename editor, if you replace a "find" string without any
       "replace" string specified there, it will REMOVE the "find" 
       string. So you can remove some strings from the file names.
    3. In the filename editor, when you double clicked a single file, it
       just gave you a regular mirc input dialog. So you didn't have the
       original filename in the edit box. Now it will give you a dialog
       with the original filename. Just to make life easier.
    4. Reorganized popup menu. In server control, there is also ads: dcc
       status and list/slot ads.


    [v8.0]
    1. Added a feature of Filename Editor in tools.

    This tool is designed for those who want to fix filenames in mass,
    not one by one.
    There are two things you can do.

    "replace" button works exactly like replace in ms office word except
    it applies to filenames "front add" button will add the string in
    front of every file in the directory.
    So if you have files without singer's name, you can easily edit the
    files. (e.g., 01. my heart will go on.mp3 becomes (celine_dion)-01.
    my heart will go on.mp3)
    You can be so smart that you can edit file names in every possible
    way.

    2. When ppl ask que, it gave the time left for next send. But, it
       kind of lied when you are sending more than max slot (say, cuz of
       list sending). It gave the time left for the list send which 
       doesnt mean your slot will be available. Anyway, now it will say 
       N/A instead of the false time left.
    3. Bug fix. (concerning the handling of playlist with wrong
       fileinfos)
    4. In @Que.Control window, there were only move up and move dw. 
       Now it has move to top and bottom
    5. Now nicklist/channel popup has "server ctrl" section. Here, you
       can find Que ctrl which was in the tools section of the previous
       versions.
       But there is another thing: access ctrl. This can prevent certain
       users from accessing your server.
       Banmask there is *!*@host.domain (e.g., *!*@whatever.com) If a
       user is banned, he won't be able to access your server in no way.
       The banlist will be effective until your next reboot of mirc.


    [v7.9]
    1. bug fix (concerning 2nd cps limit)
    2. Getright will allow you to download not only mp3s but also other
       types of files as long as they are in multimedia input setup. For
       example, if you want to d/l wav, for example, you should add .wav
       to input setup. (in general setup dialog)
       (WARNING) .mpg .mpeg are already included to .mp?. So DO NOT ADD
       THE mpg or mpeg extensions
    3. winzip latest version doesnt unzip when the files have 4 digit
       which is stupid (cuz there ARE 4digit ext like mpeg) and causes a
       lot of troubles to its users.
       spr skins used to have .skns extension. It needed to be adjusted.
       So finally I gave up 4 digit ext. All your skins will be turned
       into .skn when you install spr. Also all skins in spr website are
       changed. 
       So dont get confused. From now on, it is .SKN NOT .SKNS
    4. mIRC 5.61 has a bug of drawrect -rf command which resulted in
       drawing a rect one pixel bigger. I made an adjustment for this.


    [v7.8]
    1. Improved Playlist: 
       a) if the file infos in playlist are not correct, the previous
          version halted and gave you an error msg. Now it will try to
          remove the wrong ones and keep trying to play..
       b) +files in previous versions returned to "0 files added" if you
          change directory. Fixed
       c) +files now will not add if you choose the files that are
          already in your playlist, and selectively add only unrepeated
          files.
       (but beware that still +dir or +all will add all files even if 
       there are repetitions cuz it would be too slow if it checks out
       all the files of +dir or +all)
    2. Improved Terminator: Now you can set another cps limit for 
       terminator if filesize is too large. This will allow you to 
       prevent slow users from accessing large files such as .mpg or .zip
       while still allowing fast users to access them. (even if you are
       not a fast server, you will be able to keep limit high for large
       mp3 files of 5 mb or larger) This setup can be done in general 
       setup dcc server section.


    [v7.71]
    I finally got the bugs out. Sorry about the troubles 


    [v7.7]
    1. Opens up playlist +files window as a desktop. So you don't have to
       restore your mirc if it is minimized.
    2. Added a 'Pause All Sends' button under dcc menu in setup dialog.
       If this button is pressed and you save it by clicking OK in setup
       dialog, your (auto) sends by SpR jukebox will be saved and will be
       resent when you later release the button by pressing it again. 
       This is intended for two things:
       1) Some ppl on slow connection will be able to temporarily pause
          sends and use their bandwidth and later restart sending dccs
          that they were supposed to send. 
       2) You can upgrade without losing current sending by pausing sends
          first and unload scripts and install the new one. One touch
          will start resending the dccs you were supposed to send. 
       In case of 1), ppl can change their nick while in case of 2) ppl
       cannot change their nick.
    3. In general menu in setup dialog, you will have the option of
       whether you want to shoot ctcps to channel. This option is needed
       when ppl want to play in non mp3 channels, cuz they get kicked out
       for the ctcps by some obviously stupid scripts. The option of
       whether you want to see the echoes of others' ctcp is in display
       setup only, as it should be.


    [v7.6]
    1. In v7.51 you could send your list in zip. But you had to actually
       go into the folder and use popup menu to produce the zip file. Now
       the script will automatically produce the zip file for you. :)
    2. Improved GUI interface (remote, playlist, history window)
    3. When you are not in main chan, the previous version sent wrong
       msgs to server on dcc send/get events. Fixed.
    4. Local Play won't pause/stop when you press the button from remote.
       Fixed
    5. When you play from history(rwd window), if not any file played
       before, it gave you error. It will halt now. Fixed.
    6. The sort option dialog of playlist was not centered. Fixed.
    7. When the playlist has wrong file infos, it will halt and give you
       an error msg in titlebart istead of hiccupping with /aline
       insufficient parameters in status window.
    8. The ziplist generator popup menu didn't appear when you chose to
       send in txt. Fixed. So you can now choose to zip list later on.
    9. In getright download status window, you could download from the
       previously analyzed list. Now it also give you the option you can
       pick another list (for example, if you want to add from the new
       list you got from the target server after you already started 
       getright)


    [v7.51]
    1. In 7.5 you couldn't double click to local play in playlist. Fixed
    2. Now you will have an option to send your list in zip file rather
       than in txt file.
       I couldn't find a way to automatically produce a zip file from
       mirc. So here is what you should do now.
       When you are done with list make, it will prompt you to the
       question whether you want to make a zip.
       Click yes, and it will open window explorer minimized on your
       window task bar. Restore it and find your list.
       Click on your list and right click to popup. There should be "add
       to yournick[date].zip" in the popup menu.
       click on it. And come back to your mirc and click "yes". Now the
       script will send your list in zip.





CONTACTS
    Johannes Egger   Johannes.Egger@spr.darkrealms.org    SPR Maintainer,
                     spradmin@spr.darkrealms.org          website

    Peter Warasin    Peter.Warasin@spr.darkrealms.org     website / scripts
    Corinna Thni    Corinna.Thoeni@spr.darkrealms.org    website / design

    Tim DiSanza      Tim.DiSanza@spr.darkrealms.org       SPR skins
    Mike Evans       Mike.Evans@spr.darkrealms.org        INSTALL.TXT mnt

    Johannes Egger   Johannes.Egger@spr.darkrealms.org    Maintainer of this
                                                          file


    You will find more (and updated) information at:
      http://spr.darkrealms.org/contact.html

    Please contact Johannes Egger if you have suggestions for this file.
    Thank you!
