Winamp & Shoutcast Forums > AVS Superscope...any help out there?

 28th September 2001, 17:37 #1 Xaxor Junior Member   Join Date: Sep 2001 Location: Ohio Posts: 4 Superscope...any help out there? I'm rather new to AVS and I've been wondering, is there any sort of simple explanation posted somewhere about Superscope? I've seen it used to great effect, but I have no idea how to get started on making my own. Suggestions?
 29th September 2001, 10:50 #2 LittleBuddy88 Member   Join Date: Aug 2001 Posts: 66 Hmm... You know the syntax don't you? = to assign a var to either x, y, i, v, ect... ; ends a statement x is the line on X, try writing " x=i-0.5; " in a superscope. y is the vertical line, try changing " x=i-0.5; " to " y=i-0.5: ". v is used to read the sound, try writing "x=i*2-1; y=v;" to get an example of this. I is what creates the line, without it you'll just get a dot. try " x=0; " for an example. to make a moving line use "x=sin(t)-i", in "frame" write "t=t+0.02", this will add 0.02 to "T" on each frame. sin/cos/others closes it into the box so it won't go out of it. I assume you know math here. x and y both go from -1 to 1, where -1 on both is the top left corner and one is bottom right. That's the basics for ya, try continuing on this yourself. Linus
 29th September 2001, 23:54 #4 transfrmr Senior Member   Join Date: Jul 2001 Location: Montreal, Canada Posts: 157 WHOA! That was absolutely magnificent. Thanks!
 30th September 2001, 02:37 #5 Scarface2k1 Banned     Join Date: Feb 2001 Location: i dont get out much so i dont remember Posts: 1,032 trans... ...didnt any of the stuff i sent u help any?
 30th September 2001, 09:58 #6 transfrmr Senior Member   Join Date: Jul 2001 Location: Montreal, Canada Posts: 157 Oh yeah, definitely :) But you hafta admit, Unconed was just alittle more detailed..
 30th September 2001, 19:34 #7 Xaxor Junior Member   Join Date: Sep 2001 Location: Ohio Posts: 4 Thanks Thanks for the help guys. Though i guesss this means more work for me.
 19th February 2002, 21:28 #8 NoSage Junior Member     Join Date: Aug 2001 Location: Channahon Posts: 47 I posting this reply so people can read Unconed's explaination of scopes.... NoSage|Jason
 12th January 2004, 09:11 #9 Braininator Junior Member   Join Date: Jan 2004 Location: Australia Posts: 12 Just wondering, is it possible to specify the exact coordinates for each dot (so you could create images and shapes out of dots)?
12th January 2004, 09:24   #10
Warrior of the Light
Forum King

Join Date: Aug 2002
Location: The Netherlands
Posts: 4,105
yes, it is possible but a whole lot of work, especially(sp) when using 3D scopes.. here's an example that siddharta_one gave me once, but try to get Deamon's newest pack (hypernation) too, it has a 3D rendered cross..
Attached Files
 sidd - square.zip (252 Bytes, 1152 views)

Jesus loves you [yes, you] so much, he even died for you so that you will not need to die, but live forever

 12th January 2004, 11:32 #11 Braininator Junior Member   Join Date: Jan 2004 Location: Australia Posts: 12 OK, had a look at both the box example and Deamon's cross. It's for the Christian vis thing, so both of them help. EDIT: I'm still unsure of how to determine the coordinates for each pixel, if ayone can help by creating a vis with just 2 pixels in different postitions, it would be much appreciated. Last edited by Braininator; 12th January 2004 at 11:59.
 12th January 2004, 20:32 #12 S-uper_T-oast Forum King     Join Date: May 2003 Location: Fnord?! Posts: 2,657 It's easy to do. All you have to is use a custom point count then use equal( to set the locations. In Init ```code: Xloc1=-.5;//sets the X coordinate of our first point to -.5 Xloc2=.5;//sets the X coordinate of our second point to .5 Yloc1=-.5;//sets the Y coordinate of our first point to -.5 Yloc2=.5;//sets the Y coordinate of our second point to .5 ``` In Perframe ```code: p=0;//reset perpoint counter to 0 ``` In PerPoint ```code: p=p+1;//adds one to out perpoimt counter for every point being drawn x=equal(p,1)*Yloc1+equal(p,2)*sloc2;//When P equals 1, sets the X coordinate to our Xloc1, and when P equals 2, sets our X coordinate to our Xloc2 y=equal(p,1)*Yloc1+equal(p,2)*Xloc2;//When P equals 1, set our Y coordinate to our Yloc1, and when P equals 2, sets our Y coordinate to our Yloc ``` You can copy and paste this into a superscope and fiddle with it if you want to. If you are sill confused just tell us what you are having a problem with or you could search the fourms for Superscopes or Per-Point, those might bring up some helpful things. //edit-Fixed a few little mess-ups and "fixed" format
 12th January 2004, 22:15 #13 Deamon Major Dude     Join Date: Nov 2002 Location: Arnhem, the Netherlands Posts: 927 Somewhat simpler (but the theory is the same): ```code: per frame: p=0; (this is to reset the counter p you use for each point) per point: p=p+1; (meaning for every point p is increased by one). x=0.1*equal(p,1)-0.5*equal(p,2); y=0.4*equal(p,1)-0.35*equal(p,2); ``` In this case (and in all cases) you use a counter variable for each point. This counter is called p in this example. Since we know n is the number of points to render, we set n to 2 in this case, otherwise the rest of the points have the coords (0,0). The equal statement is 1 or 0. It's 1 when p=1 for the first point, and p=2 for the second point. The rest of the points have coords (0,0), but since we don't have any other points, we don't have to bother about that. The reason why it works: It works Per Point. It's really important to realise this. The code is run for every single dot. P is increased every dot, so we can number them. Point 1 equals p=1 etc. After that, you only have to enter coordinates for each point, and use the counter. Mind that N has to equal the last number of P or the last dots won't be drawn. The statement: If you multiply (*) any number 0, the result will be 0. If you multply by 1, the result will remain the same. Knowing this, we can do things like x=0.3*equal(p,1). In normal language: X equal 0.3 if p=1, otherwise it'll be 0. .:HyperNation @ winamp:. .:DeviantArt:. Thermal is now available for download at DeviantArt.
 13th January 2004, 05:18 #14 Jaak Major Dude     Join Date: Jan 2003 Location: Estonia. Posts: 851 Anyways... its easy to store points to megabuf(), like tell a scope run only once. wile doing it, store points to gmegabuf() and every other frame just load the points from buffer. Im too lazy to write an example now :P Phi = (1+sqrt(5))/2
 13th January 2004, 06:24 #15 Braininator Junior Member   Join Date: Jan 2004 Location: Australia Posts: 12 Thanks for the help. EDIT: S-uper_T-oast, your code has a few mistakes in it, but I got the general idea. Thanks. EDIT 2: Still having trouble. I'm trying to get a line from the center of the screen to the top-right corner, but I keep getting a line from the center straight down. My code: In Init ```code: Xloc1=0; //sets the X coordinate of our first point Yloc1=1; //sets the Y coordinate of our first point Xloc2=0; //sets the X coordinate of our second point Yloc2=1; //sets the Y coordinate of our second point ``` In Frame ```code: p=0; //reset perpoint counter to 0 ``` In Perpoint ```code: p=p+1; //adds one to out perpoint counter for every point being drawn x=equal(p,1)*Xloc1+equal(p,2)*Xloc2; //When P equals 1, sets the X coordinate to our Xloc1, and when P equals 2, sets our X coordinate to our Xloc2 y=equal(p,1)*Yloc1+equal(p,2)*Yloc2; //When P equals 1, set our Y coordinate to our Yloc1, and when P equals 2, sets our Y coordinate to our Yloc2 ``` Last edited by Braininator; 13th January 2004 at 06:51.
 13th January 2004, 08:24 #16 Warrior of the Light Forum King     Join Date: Aug 2002 Location: The Netherlands Posts: 4,105 Set n to the exact number of points, or else AVS sets all other numbers to 0 Edit: Instead of using Xloc1, Yloc2 and stuff, you can also use the numbers directly, since you'll only need them once simplest example: ```code: ---init---- n=1 ---frame--- p=0 ---pixel--- p=p+1; x=equal(p,1)*.5; y=equal(p,1)*-.25 ``` This sets a dot somewhere in the upper right of the screen. Jesus loves you [yes, you] so much, he even died for you so that you will not need to die, but live forever
 13th January 2004, 08:53 #17 Deamon Major Dude     Join Date: Nov 2002 Location: Arnhem, the Netherlands Posts: 927 You forgot to change the X coord, Braininator. Try: ```code: Per frame: p=0; per point: p=p+1; x=0*equal(p,1)+1*equal(p,2); y=0*equal(p,1)-1*equal(p,2); ``` I have used a minus in the Y coords because AVS has the Y coords from top to down from -1 to 1 for some strange reason. Somehow it's faster for your computer, though I don't know why. To Jaak: Please write an example, I don't understand it as well, and I really like to know how to use the buffers. .:HyperNation @ winamp:. .:DeviantArt:. Thermal is now available for download at DeviantArt.
 13th January 2004, 10:18 #18 Warrior of the Light Forum King     Join Date: Aug 2002 Location: The Netherlands Posts: 4,105 The y starting at -1 instead of 1 is quite simple to understand: A PC 'thinks' from the upper left of the screen to the lower right. It's more that we as humans are strange, by starting at a high number and lowering our way down along the Y-axis And I don't think it has something to do with the X-coörds Jesus loves you [yes, you] so much, he even died for you so that you will not need to die, but live forever
13th January 2004, 10:20   #19
Jaak
Major Dude

Join Date: Jan 2003
Location: Estonia.
Posts: 851
Deamon here ya go:

note that bla is set to 0 in end of frame, so that all loops will be run only 1 time after loading the preset
Attached Files
 random points.zip (685 Bytes, 940 views)

Phi = (1+sqrt(5))/2

13th January 2004, 10:33   #20
Braininator
Junior Member

Join Date: Jan 2004
Location: Australia
Posts: 12
Quote:
 Originally posted by Deamon You forgot to change the X coord, Braininator. I have used a minus in the Y coords because AVS has the Y coords from top to down from -1 to 1 for some strange reason.
Yeah, worked it all out. Already knew about the whole minus thing, just changed the wrong vars and forgot the minus. Thanks for looking at it.

Quote:
 Originally posted by ;-c ,rattaplan Instead of using Xloc1, Yloc2 and stuff, you can also use the numbers directly, since you'll only need them once
Good point, but I wish to keep the variables so it makes it easier to change them. (I plan to have a few of them!)

 13th January 2004, 10:55 #21 Warrior of the Light Forum King     Join Date: Aug 2002 Location: The Netherlands Posts: 4,105 @Jaak ...And here is where coding becomes programming -Guess what? I love it!!! Jesus loves you [yes, you] so much, he even died for you so that you will not need to die, but live forever
 13th January 2004, 11:15 #22 UnConeD Whacked Moderator     Join Date: Jun 2001 Posts: 2,104 By the way if you want to interrupt your shape somewhere, use: skip=equal(p,4)+equal(p,6); This will hide the 4th and 6th line segment (or 3rd and 5th, depending on how your counter works).
 13th January 2004, 11:19 #23 Braininator Junior Member   Join Date: Jan 2004 Location: Australia Posts: 12 First bit of success! Basically, the variables thing means you could set up a template for creating images in the superscope. All you'd need to do is create a number of different points (20 perhaps), set their coordinates to 0, then when wanting to create a new image just change the amount of points required and change their coordinates. So simple now!
13th January 2004, 17:10   #24
Deamon
Major Dude

Join Date: Nov 2002
Location: Arnhem, the Netherlands
Posts: 927
Another way of using p2p scoping (point-to-point, which is what you're doing now...) is to let AVS figure out the coords instead of giving them. Here's a nice example I just made. I'm quite proud of it . Take a good look at the Texer II code. Don't bother the 3D stuff around it, the part that matters is:

```code:
init
pd=0.4                          //Distance between points

Per frame
xp=-1;                          //starting positions every frame
yp=-1;

Per point
xp=xp+pd;                       //gridforming
yp=if(above(xp,1),yp+pd,yp);

xp=if(above(xp,1),-1,xp);       //grid reset if N is set too high
yp=if(above(yp,1),-1,yp);

```

It took me some time to figure this out, though it's quite simple now I've got it. I was playing with extra counters first, but after some puzzling, I realised I didn't need any. Let's see if you can figure out what's happening yourself, it's better that way than if I say it right now .

Other dudes around here, tell me what you think. Me personally likes it a lot.

Read the comment for code explanation
[/edit]
Attached Files
 deamon - dreaming of boxes.zip (2.3 KB, 1022 views)

.:HyperNation @ winamp:. .:DeviantArt:.

 15th January 2004, 08:12 #25 Braininator Junior Member   Join Date: Jan 2004 Location: Australia Posts: 12 Next job with my stuff, trying to get points to change on beat.
 17th January 2004, 19:37 #26 dirkdeftly Forum King     Join Date: Jun 2001 Location: Cydonia, Mars Posts: 2,651 by the by, next time please don't revive three year old threads.... "guilt is the cause of more disauders than history's most obscene marorders" --E. E. Cummings
 18th January 2004, 16:34 #27 Deamon Major Dude     Join Date: Nov 2002 Location: Arnhem, the Netherlands Posts: 927 lol, I didn't even notice that .:HyperNation @ winamp:. .:DeviantArt:. Thermal is now available for download at DeviantArt.
 19th January 2004, 04:04 #28 Braininator Junior Member   Join Date: Jan 2004 Location: Australia Posts: 12 Neither did I, sorry about that!
25th January 2004, 08:43   #29
jheriko
Forum King

Join Date: Aug 2002
Location: a twist in the fabric of space
Posts: 2,150
Quote:
 Originally posted by Atero by the by, next time please don't revive three year old threads....
rofl.

i think that i too have been guilty of this once so thats all i'll say right there. it is strange how old threads get resurrected.. i think its probably the result of the search feature being used then replying to a post without thinking. or do people really search through page after page of winamp forum archives by hand (mouse i suppose)?

-- Jheriko

'Everything around us can be represented and understood through numbers'

 26th January 2004, 10:06 #30 Deamon Major Dude     Join Date: Nov 2002 Location: Arnhem, the Netherlands Posts: 927 of course it's the search option, no-one would read about 50 pages of forum topics if maybe their question is already answered. Certainly not new people. .:HyperNation @ winamp:. .:DeviantArt:. Thermal is now available for download at DeviantArt.
 28th January 2004, 08:56 #31 Braininator Junior Member   Join Date: Jan 2004 Location: Australia Posts: 12 So we're expected to search for a thread relevant to our problem, but if it's three years old we can't reply to it. Weird.
 28th January 2004, 13:22 #32 Timzone8 Major Dude     Join Date: Sep 2003 Location: Australia Posts: 569 Newbie here.... I've been making some avs' with the presets and eventually found it well, boring, so I want to learn how to make Superscopes... All I need to know is a few basic formulas to get me started. Could someone post some Superscope "codes" for: Circle, Triangle, Square, Star, Sphere, Cube, Prism??? I can understand the x,y,i,v just not quite the sin(cos(tan( to it.
28th January 2004, 15:15   #33
UnConeD
Whacked Moderator

Join Date: Jun 2001
Posts: 2,104
Quote:
 So we're expected to search for a thread relevant to our problem, but if it's three years old we can't reply to it. Weird.
Err no. You're supposed to look for old discussions about your question. If you find an answer, that's it. If you don't, start a new topic with your specific issue.

Oh and Timzone8: Read. The. FAQ. It's right in front of your nose.

 29th January 2004, 06:13 #34 Timzone8 Major Dude     Join Date: Sep 2003 Location: Australia Posts: 569 Where's the FAQ on superscopes? (this is it isn't it?)
 29th January 2004, 06:19 #35 Jaheckelsafar Major Dude   Join Date: Feb 2002 Location: home Posts: 1,318 There isn't one, but there are several threads which discuss superscope maths which are linked to in the AVS FAQ at the top of the main AVS forum. Stoke me a clipper. I'll be back for Christmas. - Arnold Rimmer Red Dwarf
 2nd January 2005, 04:53 #36 martyexodus Junior Member   Join Date: Jan 2005 Location: Stuck in PA Posts: 1 now, i may be mistaken, but instead of going through all that to make a line from the center to the upper-left, could you just put: init: n=50;x=0;y=0 point: x=x+i y=y-i I havent tried it, but judging from what i know, that should work.
2nd January 2005, 08:43   #37
hboy
Senior Member

Join Date: Dec 2003
Location: Hungary
Posts: 217
Quote:
 Originally posted by martyexodus I havent tried it, but judging from what i know, that should work.
No, it doesn't work like this. It works like this:

```code:
"init"
n=10

"per pixel"
x=-i;
y=-i;
```

at least if you reviwe dead for a year ago, please do it with thinking before it. Why the fuck didn't you just try the code before posting? Be ready for some serious flaming dude.

2nd January 2005, 09:43   #38
MaTTFURY
Major Dude

Join Date: Jun 2004
Location: Australia,
Posts: 1,356
umm someone wanna deploy a ACTUAL SSC HELP GUIDE?! (ffs not hard enough?)
Quote:
 Superscope tutorial goes here But for now, here is the old text: You can specify expressions that run on Init, Frame, and on Beat. 'n' specifies the number of points to render (set this in Init, Beat, or Frame). For the 'Per Point' expression (which happens 'n' times per frame), use: 'x' and 'y' are the coordinates to draw to (-1..1) 'i' is the position of the scope (0..1) 'v' is the value at that point (-1..1). 'b' is 1 if beat, 0 if not. 'red', 'green' and 'blue' are all (0..1) and can be modified 'linesize' can be set from 1.0 to 255.0 'skip' can be set to >0 to skip drawing the current item 'drawmode' can be set to > 0 for lines, <= 0 for points 'w' and 'h' are the width and height of the screen, in pixels. Anybody want to send me better text to put here? Please
umm how's this supposed to help?! ?

i am not normal, no really.

 2nd January 2005, 09:49 #39 hboy Senior Member     Join Date: Dec 2003 Location: Hungary Posts: 217 actually, if you do know some english and posess some logic, you may fully understand that quoted help. and besides, somehow all avs artists before today and some even today understand it. because it is simple! you just have to think!
 2nd January 2005, 19:52 #40 S-uper_T-oast Forum King     Join Date: May 2003 Location: Fnord?! Posts: 2,657 hboy pwnd joo I learned superscopes all by myself back when I was in 6th grade. I had no fourms, no online help, it was just me and the code, and I conquered it. Do it yourself. bunny
 Winamp & Shoutcast Forums > AVS Superscope...any help out there?