hipWavSounds Plugin

Overview

This plugin provides a variety of features releated to CTCP sounds, aka wav files. It includes features related to transfering wav files between users, and features controlling how Ircle plays them.

This plugin disables Ircle's usual display of incoming CTCP SOUND requests and provides its own 1-line display that includes the status (Playing, Not Found, Muted, etc) on the same line as the user and sound file name. If the user included colors and other text attributes in the optional message following the sound file name, those attributes are stripped and the message is displayed in plain text. This is especially handy if you hang out in channels full of mIRC users.

This plugin will automatically send sound files to users who request them by typing

!yournick filename

It includes a security feature so that it will only send files from your Ircle sounds folder, even if some lamer asks for a filename such as :::System:etc. The plugin also recognizes Finder alias files, and locates the real file the alias refers to. This provides you with a way to send files from other locations on your system, purely under your control.

If the file to be sent has a resource fork it is sent using MacBinary, otherwise it is sent using normal Binary. The plugin changes the send protocol only long enough to get the transfer started, then sets it back to whatever type you had it set to. 

/wavdel command

/wavdel

This command moves the last wav file you received from someone to the trash. Handy when it turns out to be a lame or annoying sound.

/wavget command

/wavget

This command gets the last sound file someone played that you don't already have in your Ircle sounds folder. It does a !username filename.wav via private msg to the user who last did a /ctcp sound command in any channel on any connection you're in.

Note that not all users run IRC clients and/or scripts that can respond to such get-sound-file requests.

This command is also available under its old name, /getsound.

/wavinaction command

/wavinaction [ Off | Move | Play ]

This command controls the actions HipScript takes for incoming .wav files received via DCC.

When set to Off, no special actions are taken, the file is left in the location it was downloaded to.

When set to Move, HipScript verfies that the file was completely received, then it checks to see if the file exists already in the Ircle Sounds folder, and if not, it moves the file to that folder for you.

When set to Play, HipScript takes the same actions as for Move, and after the file is moved to the Sounds folder, it is automatically played (as long as playback isn't muted with /wavmute).

/wavmute command

/wavmute [ Off | On | Away ]

This command controls the playback of wav files triggered by the CTCP SOUND commands sent by other users, without affecting the playback of builtin Ircle sounds or sounds from other apps.

When set to Off, CTCP SOUNDs are played as normal.

When set to On, you still see the CTCP SOUND command in your window, with the status listed as (Muted), and the sound doesn't actually play.

When set to Away, muting is On while you're /away and Off otherwise.

/wavnoreplay command

/wavnoreplay [number of seconds]

This command controls the no-replay interval for CTCP SOUNDs. The no-replay interval is a time span during which the same sound file will not be played more than once. This is especially handy when you have clones on multiple connections in the same channel.

After playing a sound the first time it's triggered, subsequent triggering of the same sound name will display the play request with a status of (Replay skipped).

The default interval is 30 seconds. A value of zero disables this feature and always plays all incoming sound requests.

/wavresplay command

/wavresplay [ Off | On ]

This command controls the playing of resource-based sounds, such as Ircle's builtin sounds or numbered sound resources from the System suitcase. When set to Off (the default), incoming requests for such sounds are displayed, but the sound is not played. If you've ever been annoyed by lamers who do /ctcp #channel ~invite, you'll appreciate this one.

/wavsend command

/wavsend nick filename

This command sends a file from your ircle sounds folder to the named user. It's just a shortcut to avoid the file selector dialog you normally get on a /dcc send.

/wavsendlimit command

/wavsendlimit [number of dcc sends]

This command sets a limit on the number of !yournick filename.wav requests going at once, to prevent bogging down your internet connection. When a user asks for a wav file to be sent, HipScript checks the number of DCC send connections (whether started by ! request or not) going at the moment. If the number is less than this limit, the file is sent to the requestor, otherwise they are asked to try again later.

The default value is 2, which is a pretty good value for a modem user. If you have a fast internet connection, you might want to increase this to as much as 10 or more. If you have an especially slow connection, set it to 1. If you set it to 0, you completely disable the ! file request feature.