Page 3 of 9 FirstFirst 1234567 ... LastLast
Results 21 to 30 of 84

Thread: newb alert. help me into this laser code writin' stuff please...

  1. #21
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default

    aaaaaaaaaactually the windows stuff got moved outa THAT repository over tooo...
    https://github.com/j4cbo/etherdream-driver

    so nowww i'm set.

  2. #22
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,292

    Default

    There is a VC solution there now. Not sure if there was one before. I think I will re-add Etherdream support either this Saturday or Sunday.

  3. #23
    Bradfo69's Avatar
    Bradfo69 is offline Pending BST Forum Purchases: $47,127,283.53
    Join Date
    Jul 2010
    Location
    Wilmington, DE
    Posts
    6,202

    Default

    Quote Originally Posted by stephenhazel View Post
    This is the 2010s why aren't we using our names ha ha

    ...Steve
    Do you realize the sheer volume of "Adams" there actually are in the laser industry??
    PM Sent...

  4. #24
    Join Date
    Sep 2014
    Location
    Colorado USA
    Posts
    793

    Default

    Anyone use the Code::Block IDE with the Etherdream C++ code or is MSVS IDE the only one that will work.?
    ________________________________
    Everything depends on everything else

  5. #25
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default

    sorry, I haven't heard of an IDE called Code::Block.

    I think I'm starting to get close.

    Found the code that runs on the EtherDream DAC. Interesting, but, eh, i don't really need it.
    Found that code for EtherDream.dll. Again, interesting, but don't really need it.

    Found netherdream and am stripping out all the non Win32 stuff and giving it a win32 api gui eventually.

    I've already got my sequencer pianocheetah.exe and it talks to my synthesizer syn.exe.
    So it'll soon send midi info to my new laz.exe that'll have a library of .ild files (or SOME form of laser image file format).
    And come up with some rules for songname/trackname/channel/note => 2d pic offset to x,y scaled to mx,my

    ooooor something.

    my first test will be a standalone laz.exe that'll send some hardcoded points to the DAC (and that's it).

    So I guess usually, you just open the dll/dac up; write an array of [x,y,r,g,b] with repeat of -1; let it go for a bit; close it down.

    So how does the lingo go?
    What exactly is a "frame"? The array of xyrgb points? Which basically looks like a still frame as the laser draws everything at 30,000 pps?

    What do you usually refer to a point, array of points, series of array of points as?
    point / frame / animation or something?

    thanks much yall.

    ...Steve

  6. #26
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default

    some general laser point questions tooooo...

    - I'm guessing an r,g,b of 0,0,0 means "no light - no dot - move to new point without drawing a line", right?

    - so this 30,000 pps stuff - if I pass a lower value like 10, will that make the scanner stay at a spot longer once reached?
    or will it just draw the line more slowly? or is it undefined? or...?

    and it's kinda lookin like once i get some points successfully drawn by the dac,
    i start lookin at LaserBoy to see how it does point optimizations.

    OK. Thanks for lettin' me "type out loud" atcha.

    ...Steve

  7. #27
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,292

    Default

    Yes, a frame is a complete picture at any given time. It's like one image in a cartoon. You send frames at something like 20-30 frames per second to make your laser show work.
    The typical terminology is points and frames. Multiple frames aren't really called anything that I know of but I call them animations in my software.

    You'll need to create a frame timer and then send frames at the desired frame rate. Obviously, you can't send frames faster than your DAC can consume them so your frames can't have too many points.

  8. #28
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,292

    Default

    0,0,0 is black so you are right it will not produce any light. It's considered a "blank" point.

    Most DACs won't even go that low but maybe yours will. If you create a frame with 1000 pts and you specify 10pps as the pt rate it will take 100 seconds to draw the frame. You will see the image being drawn.

    Point optimizations is a big topic. If you google you will find a research papers that some guys did as their thesis in college. It will explain what you need to know and about that. LaserBoy code might help you write it or see an implementation, though. From what I understand, ILD-SOS is a GUI around that code with some other enhancements.

  9. #29
    Join Date
    Sep 2014
    Location
    Colorado USA
    Posts
    793

    Default

    Steve, think of it like this:
    A laser image is typically a connect-the-dots drawing where there is a planned start point, continuation points to complete line segments including RGB on/off and intensity values, ending ultimately with an EOF (end-of-file) point. From start point to end-of-file code defines one frame worth of the image. Repeat it adnauseam fast enough and the eye perceives a steady-state image. Spitting out the image file from the start point to the last point, terminating with the end-of-file code is termed "one frame". Just as John stated, like a cartoon animation consists of many stationary frames or images sequenced at a steady frame-rate, the laser scanning image can be a repetitious stationary image or a moving animation. The speed at which the "point-driver" software races thru the list of X,Y,R,G,B points (I guess one could consider it an array of points) determines the frame-rate. If the desire is to project an image sequence with no flicker then the frame-rate must be close to 30 frames/per/second or higher. Take the case of a galloping horse in side view. If filmed with a movie camera as the horse is in motion and the camera is always at the same location next to the horse, then when the film is developed it may be that the camera captured one complete gallop (from the time the horse's right-front foot touch ground to the next time his right front foot touched ground) in 32 frames as an example, then the each of the 32 still images in the movie captures the galloping horse motion sequence. Cool scan effects of some laser images can be generated at far slower frame-rates.

    Hope this helps.
    ________________________________
    Everything depends on everything else

  10. #30
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default

    ok things are making sense.

    I noticed in the EtherDream demo code that in addition to the x,y,r,g,b there is also an i,al,ar - are those just not used?

    What's a typical lowest value for pps?

    And is the x,y coord system -32768 to 32767? (2 byte signed int)

    And for the delay between "still" images, that's up to my code to do that delay, i'd guess.

    So is that laser effect where you've got a plane of color going only slightly up and down,
    Is that just keeping y nearly still and x ranges from min to max and back to min?
    possibly changing color at intermediate points.

    Hmmm. This will be interesting.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •