Page 3 of 8 FirstFirst 1234567 ... LastLast
Results 21 to 30 of 72

Thread: Spaghetti progress

  1. #21
    Join Date
    Dec 2007
    Location
    Sao Paulo - Brazil
    Posts
    63

    Default

    Quote Originally Posted by carmangary View Post
    Tonight I added support for RIYA dacs. But does it work? I don't know, because I don't have a RIYA DAC. As with the EasyLase users, if you try it, let me know if it works or not. The RIYA API documentation wasn't so good due to translation issues so I wouldn't be surprised if it doesn't work quite right. So, any feedback or bug reporting would be great.

    Thanks,
    Mr. Spaghetti
    Hi Gary

    I will test in my Riya DAC and I will inform you if it works or not

    Carlos

  2. #22
    Join Date
    Oct 2006
    Location
    Cleveland, Ohio
    Posts
    2,342

    Default

    Quote Originally Posted by carmangary View Post
    Added support for Lumax DACs. Now supporting 4 hardware platforms:

    Moncha,
    RIYA,
    EasyLase,
    Lumax

    What's next?
    Looking good! I may have mentioned this before, but may I request 8 channel wav output?
    stereo audio - 2
    x-y - 2
    RGB - 3
    Combined RGB - 1

    I have done some tests with a $25 8 channel USB audio dac and it looks like it could be a decent 'poor man's dac' of the future!


  3. #23
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    I would like to but it would probably go low on my TO-DO list since there isn't much of a demand for it and also because of the complexities involved. Sticking the data into a wav file is not hard but fitting into my existing architecture would take a little work.

    Are you a programmer? If you are, then perhaps you could write a class to do some of the work.

    I definitely like the idea of wav file output and will eventually try to add support for that.

  4. #24
    Join Date
    Oct 2006
    Location
    Cleveland, Ohio
    Posts
    2,342

    Default

    Quote Originally Posted by carmangary View Post
    Are you a programmer? If you are, then perhaps you could write a class to do some of the work.
    I can do C, matlab, scripting, and modifying of other programs in other languages to fit my purposes (programming by example), but coming up with a new class, I would barely know where to start, and the result would be closer to a hack than an extensible code base.
    Still, If you can give some shell outline of what the structures should be I could take a swing at it.

  5. #25
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    You can download visual C# 2008 express edition for free. Create a new C# Class Library program. It will give you a default project with an empty class. Add a method that takes an audio file, array of structures containing the data and converts it to an 8 channel WAV file .

    Here is an example method definition and struct definitions.

    public void CreateWavFile(Frame[] frames, int frameRate, string audioFileName)
    {
    }

    struct Frame
    {
    Point[] points;
    }

    struct Point
    {
    public ushort X;
    public ushort Y;
    public byte R;
    public byte G;
    public byte B;
    }

    If you need help send me a PM. You'll need to learn how to write new WAV files but there are probably examples on the internet to do it with C#. You'll also need to figure out how to get the data from the 2 channel audio wav file into the 8 channel wave file.

    The challenging part will be making the frame data match the sample rate of the wav file. What I mean by that if you have a frame with 100 points with a frame rate of 30 frames/second you will need to massage 100 data points in .0333 seconds. But, at 44Khz sample rate of a wave file you have 1466.667 samples in in that time slice. You don't want to change the sample rate of the wave file because it will make your audio sound bad. So, that means you have to repeat each point ~15 times within the wav file for the timing to work out.

    Make sense? It's actually pretty simple once you put it on paper. You just need to look up all the functions required to create a WAV file and create an algorithm to massage the data into the WAV file without causing your timing to get screwed up.

  6. #26
    Join Date
    Jan 2006
    Location
    Akron, Ohio USA
    Posts
    1,754

    Default

    Or you could build up a bunch of short wave clips of laser show and edit them into an 8 channel wave in something like Cool edit. Just have the stereo music tracks in 7 & 8 and you can move the laser bits all over time. You can play it right there and export it as a finished piece.

    There are also some effects that can be applied to the laser signals using the audio editing software. If you fade in and fade out the X and Y channels, it will result in a dot zoom from the origin to a full size image, then shrink back to a dot at the origin. You could also fade the colors in and out for various effects applied to all or just some of the color channels. You can even get away with a little resampling to slightly alter the total playing time of a laser clip. There are all sorts of things that can be done to laser control signals on-the-fly once they are in the analog streaming mode (universal image correction). Many of these same effects can be virtualized in digital.

    BTW I see a picture of one of my gears. There are 3 of them in frames (starting at 0) 1, 2, 3. If you go to the output menu and apply the frame set effect (option 5) named "gears" and then open gears.ild you'll see what they are for! If you want to look further into the code, ez_ilda_frame_set_effects.cpp is where you will find the "gears" function to see how it works.

    James.
    Last edited by James Lehman; 05-10-2008 at 13:11.

  7. #27
    Join Date
    Jan 2008
    Location
    Belgium
    Posts
    1,009

    Default

    any news here?

  8. #28
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    Not much. I started adding a morphing effect but I got busy with other things and never finished. I need to go ahead and wrap that up.

    I don't get much feedback about the software so I don't have a lot of motivation to work on it, to be honest.

  9. #29
    Join Date
    May 2008
    Location
    Kent, UK
    Posts
    212

    Default

    Hi Carmangary,

    Just downloaded Spaghetti.

    A bit of feedback ...
    Installed OK.
    Loaded OK.
    Select ILDA Directory ... , took an extreme amount of time to be able to browse and select the folder.
    Once I had selected the folder, the program went into (Not Responding).
    Then the "Not Responding" disappeared and Spaghetti stuck at 50% cpu and I have a blank "Microsoft .NET Framework" dialogue box in the middle of the screen.
    I looked at Task Manager again and now I have 2 copies of Spaghetti running, one with the Spaghetti icon the other with the default program icon.
    I waited over 10 minutes and then a "Microsoft .NET Framework" came up with an Unhandled exception has occured in your application.
    Exception of type 'System.OutOfMemmoryException' was thrown.
    The folder I selected has 1,665 .ild files in it.
    I am running and AMD Athlon X2 +4200 with 2 Nvidia SLI graphics cards enabled in multi-screen mode, with 4gb of memory.

    Shame looks very promising.

    If you need any more info I will try my best to obtain it for you.

    André
    Last edited by Onge; 06-02-2008 at 10:58. Reason: Spelling :(

  10. #30
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    When you select an ILDA directory it loads all of the ILDA files into memory and adds an icon for each in the ILDA view panel. 1665 ILDA files is obviously too much for it to handle the way it is now.

    I need to figure out a better way of making that work. But even still, 1665 icons is a lot to scroll through when creating a show. Even if Spaghetti could handle it, it would be a bit overwhelming for someone to have to scroll through them and find the ones they want to add to the show.

    If you want, as a work around, you could probably break the file up into folders of 50 to 100 and see how that works for you. It also depends on the size of the ILDA file. An ILDA file with 1 frame will load fast but an ILDA file that is 4 megabytes will take a few seconds to load.

    Just curious, what is the total size of all the 1665 files in that directory?

    I'm open to suggestions about how to handle this sort of thing from a usability point of view. As a user, what would you want to be displayed when you opened a folder with 1665 files?

Posting Permissions

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