Pirch v0.90+ Sound Setup/Events/Scripts
- Sound Card Setup Right?
- Setting Pirch Up to play Sounds
- How do I play a sound to the channel?
- Auto grab/send scripts

Before continuing, make sure you have the latest version of Pirch installed.
Is your Sound Card Setup Right?
Okay, before anything else, make sure your Sound Card, Sound Card drivers , and the Sound Card mixer are configured correctly to play MIDI files (and WAV files for that matter). To check this, launch the Windows Media Player which can be found with the Accessories Group of Windows 3.X and under Programs -> Accessories -> Multimedia in Windows 95. Click on the Device menu. You should see both Sound and MIDI Sequencer listed here (among other items probably). If either one is missing, contact your Sound Card Manufacturer. If the Windows Media Player can't play it, then nothing in Windows will be able to.
If they are there, select each one and try to play a .WAV file when you select Sound and a .MID file when you select MIDI Sequencer (you should have some of these files in your C:\WINDOWS or C:\WINDOWS\MEDIA directory). You press the far-left trianguler button to play the file. If it looks like it's playing (slider is moving) but you don't hear anything, check the following:
Your speakers are plugged in, turned on (if amplified speakers), and the volume knob turned up (if amplified speakers).
- You have the WAV and/or MIDI volumes turned down or muted in the Sound Card's (or Windows 95's) mixer. If in Windows 95, double click on the little yellow speaker that is in the task bar which will bring up the Windows 95 Volume Control. Make sure the following items are turned up and not Muted: Volume Control, Wave, and MIDI. Depending on the sound card, the descriptions might be a little different. If you can't figure it out, contact your sound card manufacturer.

Setting Pirch up to Play Sounds
Until you get this done, rest is pretty much a moot subject :). Go into Prefs -> Media tab. I would check all four items listed. If you do not mind your MIDI or WAV file being interrupted when someone in the channel plays another one, then you can uncheck Ignore if already playing a sound. Also, if you want Pirch to ignore all sound requests (for when you want some peace), then uncheck the first item: Enable sounds. Just remember to re-check it when you want to play sounds people play to the channel.
Next, you need to configure the Default Sound Path. This should point to the uppermost folder or directory that contains your sound files (I do not recommend keeping the default sound path as your Pirch directory; however, it's up to you.). For example, on my system, I have sounds in the following directories:
F:\MUSIC\MIDI F:\MUSIC\WAV
So, I would put F:\MUSIC
in this spot.

How do I play a sound to the channel?
Well, there are a few ways to accomplish this, and here they are:
In the area where you type to send a message to the channel, you would use the following command:
/sound #channel_name filename.ext
For example, if you want to play atsw.mid into the #MIDI channel, use the command:/sound #MIDI atsw.mid
.- Click the Media button on the top of Pirch to launch Pirch's Media Player. Click the down arrow button on the right (the button with the yellow box around it in the picture, which will turn it into the next Window.
Then becomes:
If yours says Unintialized where this one says All Sounds, click the down arrow beside it and choose All Sounds or Wave Files or Midi/Rmi Files depending on what you want to see. The default directory shown on the top will be your Sound Path directory, click the down arrow next to it if you want to choose a subdirectory. Then, select a file to the right and choose your play option.
- Use a script to handle playing the file, but we'll save this for a future date. :)

Setting up Sound auto request/send
Since Pirch version 0.90+ is only available for Windows 95, I am guessing that you are using Windows 95. If you have Windows 3.X and are using Pirch Version 0.87, then the following scripts will still work. The only thing that version 0.87 has a bug with is doing a DCC TSEND to someone; however, the SENDLONG.PIL script below does a version check and avoids using DCC TSEND when running in Pirch 0.87.
I really don't like sound requests that are sent as a private message/query (which is an option in mIRC), all the private message windows popping up everywhere gets annoying sometimes. My preference is for sending and receiving the requests via /notice
commands that are independent of what my current nick happens to be. I have outlined steps below for configuring Pirch to follow these methods.
While the following steps might seem abit more complicated than necessary to some, you will get better results in the end. Using a script to send the file allows you to organize your MIDI and WAV files into different directories below your Sound Path. My MIDIs are in f:\music\midi
and my WAVs are in f:\music\wav
. I have then further divided them into types of music and so on. Besides, you might learn something too! (well, maybe not the script gurus out there) :)
First, you need to setup a script which will send someone a file from your default sound path (which is defined in Prefs -> Media Tab -> Default Sound Path) and any sub-directories below it. Also, with the introduction of Windows 95, it is possible to have files with long filenames such as I Love Rock and Roll-Joan Jett.mid. Pirch does come with a SENDSND.PIL script; however, it does not handle long file names correctly and gets confused when someone sends a request that looks like !DCCSEND I Love Rock and Roll-Joan Jett.mid grabbed with Joe Blow whatever script. Luckily, I have re-written the script to handle these situations. You can get the script here: SENDLONG.PIL v2.0 (I would right-click on the link, chose Save File As and save it into your Pirch directory as SENDLONG.PIL).
Also, to ensure that Pirch will send the long filename correctly, you need to enable LFN support by clicking on Prefs -> DCC tab and checking the box Use LFN Support.
Now, we need to add the script into your Aliases window. Click the Aliases button at the top of Pirch. Then, with the mouse in the left portion of the window where the alias names are, right-click and choose Add PIL Script. It should bring up a Load PIL Script file dialog box. It should default to your Pirch directory. Locate the SENDLONG.PIL file, highlight it with the mouse by left-clicking on it and hit OPEN. Now, you should notice on the left side of the Aliases window [SENDLONG]. You can click on [SENDLONG] to view the code it contains if you so desire. Following is how the Aliases window should look (of course, your other aliases might be different)

Now that that's done, if you want to be able to automatically request a file be sent to you from another person that you don't have and to automatically send files to other people that request them of you, you need to put the following three lines into the events list of the 000-Unknowns of Pirch. (You get to the Events list by clicking on the Events button along the top of Pirch. Make sure that Enabled is checked on the bottom-right of the window as well and click Save when done) :
ON NOSOUND:*.*:*:/notice $nick !dccsend $filename !tsend ON NOTICE:*!tsend*:*:/runscript [SENDLONG] $nick tsend *2 ON NOTICE:!dccsend*:*:/runscript [SENDLONG] $nick dccsend *2
In addition, if you want to play the file automatically when someone sends it to you so you can hear it, then add the following event line as well:
ON DCCDONE:*.mid;*.wav;*.rmi;*.avi:/playmedia $filename
The tsend and dccsend are used because Pirch allows an alternate DCC protocol called TDCC which is generally faster than the standard DCC protocol since it need not wait on acknowledgements before sending subsequest packets. Unfortunately, as noted earlier, Pirch version 0.87 has a bug using DCC TSEND to send a file to someone; however, the script does a version check, so you're safe! :)
Below is what the Events Window should look like if these were your only events:

Some folks have their ON NOSOUND event (this happens when Pirch tries to play a file you don't have) setup so that it puts !Bob whatever.mid in the channel if your nick happened to be Bob to request the file from you. The problem with this is that if you setup an autosend event to catch this and you change your nick, it quits working because they send !Blah whatever.mid if you happened to change your nick to Blah. You would have to create an event for each nick you use. By using the above method, it does not matter what your nick is. However, you can respond to these events by adding an event similar to (substitute YourNick for your real nick):
ON TEXT:!YourNick*:*:/runscript [SENDLONG] $nick dccsend *2
Another reason to use the above method to request a file from someone using a /notice command is that the channel does not fill up with requests, which are against the rules in some channels.
You should be all set! :)
Page last modified: Wednesday, March 11, 2015 1:36:18 AM CDT