Page 1 of 11 12345 ... LastLast
Results 1 to 10 of 110

Thread: EzAudDac Alpha release: Cheap DACing!

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

    Default EzAudDac Alpha release: Cheap DACing!

    EDIT:
    EzAudDac has reached 1.08 status, no longer Alpha. See post 2 for download.

    EDIT2: See this thread for a sound card DAC setup tutorial.


    The use of an audio card as a lasershow dac has been discussed extensively. It offers benefits for laser hobbyists such as low cost and easy accessibility. Optionally, using a USB sound card for show control allows display from laptops while on the road.

    What is needed currently is an 8-channel sound card, and some electronics knowledge to access the raw signal from the DAC chip and level convert it to +/- 5V. The level converter consists only of a couple op-amp chips and some passive components such as pots for adjustment.
    Single-channel level converter (designed by Dean C. Hammonds, sample built and sent to me by James Lehman thanks!):


    With this in mind, a driver is needed to interface laserhow software to the sound card.


    It so far has been tested on:
    zoof's laseroids
    Zoof's laser tennis
    Zoof's laser music display
    carmangary's spaghetti (driver included)
    LaserDesignStudio (LDS)
    HE-Laserscan
    LFI Player (support coming soon!)

    Other untested possibly supporting software:
    Mamba


    General Usage:
    1) Put the dll and ini file where your program expects driver dlls.
    2) Edit the ini file to suit your hardware setup.
    3) Run the program!
    4) there is a text file produced (EzAudDac.txt) that will help you choose your sound card number.

    Using EzAudDac driver with HE-Laserscan (free!)
    HELS does not natively support the EzAudDac driver yet, however it does support easylase, so you can use the EzAudDac driver in easylase mode with HELS.
    1) HELS output hardware is configured by placing the correct ML_Driver in the HELS program directory. Look for the ML_Driver folder and copy the easylase ML_Driver.mld to the root program directory where HE-Laserscan3.exe is. Rename the easylase ML_Driver to just ML_Driver.mld
    2) If it exists in the root folder, rename easylase.dll to TheRealEasyLase.dll
    3) Copy EzAudDac.dll to the root HELS folder and rename it to easylase.dll
    -Note that you won't be able to use an audio card DAC at the same time as using an easylase DAC until HELS supports native EzAudDac output.
    4) Copy your EzAudDac.ini file which contains settings for your computer and DAC setup to the root directory of HELS.
    5) Run HELS and go to Windows-Options-Hardware and select Hardware1=EasyLase0. Browse the other tabs especially 'Optimize Output' and edit as necessary to complete your setup.


    Using EzAudDac driver with Laser Design Studio (LDS):
    LDS does not natively support the EzAudDac driver yet, however it does support easylase, so you can use the EzAudDac driver in easylase mode with LDS.
    1) LDS output hardware is configured in geobas.ini in the LDS folder. Open this file in a text editor. Under scanner[1] set bEnableEL to =1 This enables EasyLase. Set all other bEnableXX to =0. Save and close geobas.ini
    2) Rename easylase.dll to TheRealEasyLase.dll
    3) Copy EzAudDac.dll to the root LDS folder and rename it to easylase.dll
    -Note that you won't be able to use an audio card DAC at the same time as using an easylase DAC until LDS supports native EzAudDac output.
    4) Copy your EzAudDac.ini file which contains settings for your computer and DAC setup to the root directory of LDS.
    5) Run LDS and test it out!


    For troubleshooting, try downloading the latest driver for your sound card and take note whether it is a wdm style driver.


    For Developers:
    The driver's access is modeled after easylase, except the input data strucure is as follows:
    Code:
    struct EAD_Pnt_s {
    	__int16 X;
    	__int16 Y;
    	__int16 R;
    	__int16 G;
    	__int16 B;
    	__int16 I;
    	__int16 AL;
    	__int16 AR;
    };
    where AL and AR are optional audio stream inputs. Using the audio stream inputs from show software will keep synchronization between music and show display. The lag is determined by the BufferLengthMS setting in the ini file. Setting this value too low will cause the output to jitter.

    These are the calls (modeled after easylase, see documentation) available currently (TTL is planned fr the future):
    Code:
    int __stdcall EzAudDacGetCardNum(void);
    bool __stdcall EzAudDacWriteFrame(const int& CardNum, const EAD_Pnt_s* data, int Bytes, uint16 PPS);
    bool __stdcall EzAudDacWriteFrameNR(const int& CardNum, const EAD_Pnt_s* data, int Bytes, uint16 PPS, uint16 Reps);
    int __stdcall EzAudDacGetStatus(const int& CardNum);
    bool __stdcall EzAudDacStop(const int& CardNum);
    bool __stdcall EzAudDacClose(void);
    This release can only utilize one card, which you specifiy in the ini file, so CardNum is ignored.
    Last edited by drlava; 11-20-2013 at 17:05.

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

    Default

    Update: V0.11 update: Improves operability with LDS frame update method. If you are using LDS and have jerky output, give V0.11 a go!

    Update:V0.14: Improves refresh speed for many programs. Auto-detects buffer length (BufferLengthMS entry no longer used or needed in EzAudDac.ini)

    Update V1.0 2008/10/01: Stability fixes, sanity improvements, CPU use improvements, Glitching fixes.

    Update V1.01 2008/10/08: Fixes occasional skipped frame issue

    Update V1.02 2008/12/16: Update for 'clicking' with LazyMame

    Update V1.03 2008/12/19 Update gracefully accepts double initialization, new INI option LowLatencyBuffering for better program compatibility

    Update 1.05 2009/04/15 Adds new auto-repeat option in INI file, increased thread priority, minor buffering changes.

    Update 1.08b 2009/10 Individual color blanking shift, adds blank on zero point frame sent.

    Update 1.1 2013/03 Stability and operation improvements

    This program is released without warranty or guarantee for personal use and testing only.
    DOWNLOAD
    Last edited by drlava; 11-20-2013 at 17:07.

  3. #3
    Join Date
    Jun 2008
    Location
    Boston, MA
    Posts
    58

    Default

    The link is not working for me :/

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

    Default

    Hi, it's fixed now.

  5. #5
    Join Date
    Jun 2008
    Location
    Boston, MA
    Posts
    58

    Default

    It worked for me! I was able to get carmengary's spaghetti to work with it. I could run the test patterns, but I can't really create a show because it requires a music file, while ends up playing over my XY command channels. Would the same thing happen for you?

    I am waiting on an email from Zoof to get Laseroids, so I'll let you know if that works for me too.

    Thank you! I thought I was only going to be able to use LaserBoy.

    Barold

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

    Default

    Great. You're the first other one who has tested it with scanners. You get a prize

    I have the scanner audio card as a secondary, so the music doesn't overlap the data..
    You can get laseroids and laser tennis from the easylase usb 'Treiber und Doku (ZIP):
    http://www.jmlaser.com/service/laser...y_service.html

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

    Default

    There is a bit of a problem getting it to work with Spaghetti right now because Windows wants to make the USB sound card the default device for playing sound. I need to figure out how to force it to play audio via a specified sound device. It's probably as simple as setting a parameter on the audio device but I need to look into it. I'll look into that later tonight and see what I can find out.

    I'm also currently adding the sound card driver to the drop down list so that you won't have to install the driver yourself. It will come with Spaghetti. The ini file will still need to be configured. It would be nice to be able to send the settings to the driver via an API call instead of (or in addition to) using the ini file.

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

    Default

    "Thank you! I thought I was only going to be able to use LaserBoy."

    Is that so bad?

    I'm crushed.

    James.

    PS I'd like to get hooked up with that driver and those games! The links don't seem to work for me. Wait a minute. I got it.
    Last edited by James Lehman; 06-14-2008 at 12:42.

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

    Default

    The games are included with the standard EasyLase driver that is downloadable from the JMLasers web site.

  10. #10
    Join Date
    Jun 2008
    Location
    Boston, MA
    Posts
    58

    Default

    Quote Originally Posted by James Lehman View Post
    "Thank you! I thought I was only going to be able to use LaserBoy."

    Is that so bad?

    I'm crushed.

    James.

    PS I'd like to get hooked up with that driver and those games! The links don't seem to work for me. Wait a minute. I got it.
    Haha, I was just happy to see my options grow. I didnt know there were other people supporting audio card DACs.

    Barold

Posting Permissions

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