home *** CD-ROM | disk | FTP | other *** search
Wrap
/* Beavis for Directory Opus 5.5 by Leo 'Nudel' Davidson for Gods'Gift Utilities email: leo.davidson@keble.oxford.ac.uk www: http://users.ox.ac.uk/~kebl0364 $VER: Beavis.dopus5 1.3 (1.7.96) WARNING: Some knowledge of AmigaDOS and a little ARexx is required to get anything out of this script (sorry!). Beavis AppIcon! Make Beavis a part of your everyday Amiga experience. Hail to the king, baby. (Uh, oops, too much Duke Nukem 3D...) (LITTLE DUDE! STAMP ON HIS HEAD!... GEDDIM!!!... PIPE BOMB... Oh oh, it's 7:00am... Oops) Much thankness to Jon Potter for his amazing work on Opus 5 -- nothing in the world comes close. Nothing else would let Beavis himself be conjured up from a simple ARexx script. <Stuffs spoonfull of peanut butter into mouth>. Ahem, where was I? Well, this script could be made to do many things with a little configuring so do with it what you want. As it is you define the default icon below as "iconname". When you double-click the icon whatever is defined as "opencommand" below is executed. I have it tell Super-Select (one of my utils which can be found on Aminet) to randomly play one of my 129 Beavis'n'Butthead samples. Oh, by the way, don't include the ".info" at the end of the icon name. You'll regret it if you do, I'll see to that, sunny. Ahh.. ahhhhhhhhh!!!!!! The drop-down menu on the AppIcon has several custom entries as well as the usual "Close", "Information", "Snapshot", and "Unsnapshot" which work as you would expect. The "Stop Sample" item runs whatever is defined below as "stopcommand". I have this setup to break DSound so that I can abort playing long samples I don't want to hear. The "Select Sample" entry runs whatever is defined as "pickcommand" and in my case it executes a script which opens a file requester allowing me to choose any sample on my harddrive for playing. <Scoops peanut butter out with finger> tHe giBBer drIve! ThE GIbbER DRiVE!!! Take me to your leader. I will give him flowers. I will make him bow. Then all hell shall break lose. Then you all shall sip on my lemon tea. For then, and only then shall people know the true taste of the gibber drive and it's full-on robot chubby of computational power. Oh yes. Oh, yes. Finally, you can define as many extra menu items using the "coolsample.x" and "coolsaname.x" variables below (uh, "as you like" ought to be in that sentense somewhere. I'll leave that as an exercise for the reader). It's easier if you just look at them, I don't think it's worth explaining, especially when it's already 2:20pm and I haven't had a shower yet. (HOW MANY times have I listened to Load today?... ulp. Talk about welded into my CD player.. dah-na dunna dahhh!!) The filenames are plonked on the end of "playcommand" when you click on them. Nuff said. You know when you're doing some kind of test and the question is "What do you think xyz is?". Well, unless you're dishonest and put down what you don't think the answer is, shouldn't you always get the question right? They asked for what you think and you told them what you though so the answer is correct. But, they're sneaky ya see, they judge the answer by whether what you thought was correct, not whether you correctly wrote down what you thought. Little gits. You should find 1:2 and 1:1 aspect Beavis icons with this script somewhere (should be put in DOpus5:Icons/) -- hope you like them, too -- never again do I want to even TRY to draw a fist in about 10 pixels.. argh.. Still, for a non-artist I think the result is pretty good... Make sure the icon is borderless as it looks much cooler. Knowing my luck I'll fall in that hole at the end of this road. Oh bugger. Is it cold? Is it fhu... CHEESY PEAS!! THINK CHEESE, THINK PEAS... THINK No. Don't think. Thinking is bad. Thinking takes power from the individual and gives it to the group. Avoid at all costs empowering yourselves for you do not want power. Give it all to me. I'll take care of it all for you. I am your friend. And I have lots of strawberry cheesecake for you. Yes, yummy yummy. Here it is... Munchies!! If you want Beavis to be there from startup set "initstart" below to "y". Whether you do or not a command called "OpenBeavis" will be added to Opus which can be used to open him at any time. "OpenBeavis" takes an optional argument which specifies the name of a different icon to use, without ".info" at the end. "Everyone's got to have the sickness, because everyone seems to need the cure" -----------------------------------------------------------------------------*/ iconname = "DOpus5:Icons/Beavis_HNL" initstart = y opencommand = 'Run >NIL: Super-Select L Config:Lists/Samples_Beavis B "DH0:Tools/Music/Utils/DSound -2 -f -n -b51200 -w"' stopcommand = 'BreakName DSound' playcommand = 'Run >NIL: DH0:Tools/Music/Utils/DSound -2 -f -n -b51200 -w' pickcommand = 'Run >NIL: Execute S:Startups/SelectSample.script' coolsaname.0 = "Ahhhh!" coolsample.0 = "DH2:Samples/Boot_Short/BnB/Ahhhhh.IFF" coolsaname.1 = "Cornholio" coolsample.1 = "DH2:Samples/Boot_Short/BnB/Cornholio.IFF" coolsaname.2 = "DahhDaDaDa..." coolsample.2 = "DH2:Samples/Boot_Short/BnB/DahhDaDaDa.IFF" coolsaname.3 = "DunDunDunah..." coolsample.3 = "DH2:Samples/Boot_Short/BnB/DunDunDanah.IFF" coolsaname.4 = "Laugh" coolsample.4 = "DH2:Samples/Boot_Short/BnB/Hehe2" coolsaname.5 = "Insane" coolsample.5 = "DH2:Samples/Boot_Short/BnB/insane.membrane.IFF" coolsaname.6 = "Inner Child" coolsample.6 = "DH2:Samples/Boot_Short/BnB/InnerChild.IFF" coolsaname.7 = "Blue light special" coolsample.7 = "DH2:Samples/Boot_Short/BnB/JockStrap.IFF" coolsaname.8 = "Oooh..." coolsample.8 = "DH2:Samples/Boot_Short/BnB/OOHH.IFF" coolsaname.9 = "Score" coolsample.9 = "DH2:Samples/Boot_Short/BnB/Score.IFF" coolsaname.10 = "10:00 pm..." coolsample.10 = "DH2:Samples/Boot_Short/BnB/Wiener.IFF" coolsaname.11 = "Yeaaahh" coolsample.11 = "DH2:Samples/Boot_Short/BnB/yeaaaaaaaaah" coolsaname.12 = "Zap 'im" coolsample.12 = "DH2:Samples/Boot_Short/BnB/ZapHimInTheButt.IFF" /*---------------------------------------------------------------------------*/ options results options failat 11 parse arg DOpusPort function source dest arguments If (function~='init' & function~="OpenBeavis") then exit CR = '0a'x Address value DOpusPort If ~Show('L','rexxsupport.library') then call addlib('rexxsupport.library',0,-30,0) /* add restart command (for restart after closing the icon) - quit after that if initstart off */ if function = 'init' then do dopus command "OpenBeavis" program "Beavis" desc "'(Re)open Beavis. huh huh, cool'" template "ICON/K" if left(Upper(initstart),1) ~= "Y" then exit end If (function="OpenIntOut" & arguments~="") then do iconname = arguments end /* Where's your crown? King Nothin' */ /* Some quotes for the Information requester */ quote.0 = "This sucks!" quote.1 = "Hey, baby. Come to Butthead" quote.2 = "I'm getting a woodro" quote.3 = "Diarreah, cha-cha-cha"CR"Diarreah, cha-cha-cha" quote.4 = "AHHH! Don't touch me, asswipe!" quote.5 = "When I was little and had no sense,"CR"I took a whiz on an electric fence,"CR"It hurt so bad, it shocked my balls,"CR"And then I took a crap in my overalls" quote.6 = "We're there, dude" quote.7 = "Dammit, Beavis, Pull up your pants" quote.8 = "He's fallen, and he can't get it up" quote.9 = "huh huh huh heh heh huh huh, yeah" quote.10 = "YOU WILL GIVE ME TP! BUNGHOLIO!!" quote.11 = "Are you threatening me?" quote.12 = "I'll kick your ass,"CR"then I'll wound your inner child" quote.13 = "Attention K-Mart shoppers:"CR"There's a blue-light special in the"CR"Jockstrap department" quote.14 = "It's 10:00pm: Do you know where you weiner is?" quote.15 = "Master Painting is cool" quote.16 = "We're like gunna have to mow the lawn,"CR"scrub the grill -- We're never gunna score!" quote.17 = "Don't make me shove this thing up your butt..." quote.18 = "When your wiener's happy, you're happy" quote.19 = "Zip 'im -- Zip 'im in the butt!" quote.count = 20 /* Get unique name and open a port. */ Call Forbid() i = 0 myportname = "DOBeavisIcon."i Do i=0 While Show("P",myportname) myportname = "DOBeavisIcon."i End If ~openport(myportname) then do Call Permit() dopus request '"Beavis Icon: Could not open message port" OK' Exit End Call Permit() /* See if there is any snapshot info in the icon's filecomment */ address command "list >PIPE:"myportname" "iconname".info LFORMAT %c" if open(comfile,"PIPE:"myportname,"R") then do comment = readln(comfile) close(comfile) end If Word(comment,1) = "NudelSnap:" Then do comment = word(comment,2) comcom = index(comment,",") comx = left(comment,comcom-1) comy = right(comment,length(comment) - comcom) comment = "POS" comx comy End Else comment = "" coolsaname.count = 0 do i=0 while coolsaname.i ~= "COOLSANAME."i coolsaname.count = coolsaname.count + 1 end If i ~= 0 then do coolsaname.count = i + 1 coolsaname.i = "---" i = i + 1 End coolsaname.count = i + 2 coolsaname.i = "Select sample" i = i + 1 coolsaname.i = "Stop sample" /* add an icon */ dopus addappicon myportname "''" 1 comment icon iconname info snap close local menu coolsaname. icon=result flag = 0 /* loop around */ do while flag = 0 call waitpkt(myportname) /* Why, hello handsome. What's a sex bomb like you doing in a script like this? */ packet=getpkt(myportname) arg0=getarg(packet,0) arg1=getarg(packet,1) arg2=getarg(packet,2) arg3=getarg(packet,3) arg4=getarg(packet,4) call reply(packet,0) if arg0 = 'doubleclick' then address command opencommand if arg0 = 'menu' then do If arg2 = (coolsaname.count - 1) then address command stopcommand If arg2 = (coolsaname.count - 2) then address command pickcommand If arg2 < (coolsaname.count - 3) then address command playcommand coolsample.arg2 End if arg0 = 'close' then flag = 1 if arg0 = 'removed' then flag = 2 if arg0 = 'info' then do dopus setappicon icon busy on flag_about = 0 do while flag_about = 0 x = Time(S) // quote.count dopus request '"Beavis for Directory Opus'CR"by Leo 'Nudel' Davidson"CR||CR||Quote.x'" OK|More|Close' about_result = RC If about_result = 0 then do flag = 1 flag_about = 1 end If about_result ~= 2 then flag_about = 1 end dopus setappicon icon busy off end if arg0 = 'snapshot' then address command 'filenote 'iconname'.info "NudelSnap:' arg2'"' if arg0 = 'unsnapshot' then address command 'filenote 'iconname'.info' end /* C'mon, get 'em off... */ /* remove icon */ if flag~=2 then dopus remappicon icon Call closeport(myportname) /* Ding dong the door bells ring... I'm completely moose. Moooose. Moooooooooose! */ Exit /* Ever wondered how long ARexx wastes skipping past huge comments at the top of people's scripts... Shaa.. Some people. I don't know... */