Page 5 of 6 FirstFirst 123456 LastLast
Results 41 to 50 of 58

Thread: Creating My own laser show software

  1. #41
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,305

    Default

    Well, you may or may not know that Spaghetti is written entirely in C# including the parts that interface with the driver DLLs. I communicate directly with the C interface exposed by the manufacturers DLLs, though. It wasn't very difficult to create that code and if you need the correct DLLImport signatures to communicate with them I can help you with that. The best part about using C# was that it was very easy to create and debug the custom controls. The non-visual parts of the application could have as easily been created in C++, though. You will save yourself a lot of pain by sticking with C#. At least for the visual pieces. C++/CLI would be a good option for a bridge between managed/unmanaged C# and C++ if you wanted to go with a hybrid, though.

    That said, I am actively rewriting Spaghetti entirely in C++. I have my reasons but none of them are due to a lack of ability of C#. Performance was fine, too. Mainly I just got tired of dealing with obfuscators and libraries to talk to DirectX and that sort of thing. And a big reason was just to get back to my roots and make it as efficient as possible. You can definitely create a more efficient and perfomant app with C++ but it will be much harder. Whether it is worth it to you to do so is up to you.

  2. #42
    Join Date
    Mar 2012
    Location
    Urduliz, Spain
    Posts
    65

    Default

    Quote Originally Posted by JohnYayas View Post
    Well, you may or may not know that Spaghetti is written entirely in C# including the parts that interface with the driver DLLs. I communicate directly with the C interface exposed by the manufacturers DLLs, though. It wasn't very difficult to create that code and if you need the correct DLLImport signatures to communicate with them I can help you with that. The best part about using C# was that it was very easy to create and debug the custom controls. The non-visual parts of the application could have as easily been created in C++, though. You will save yourself a lot of pain by sticking with C#. At least for the visual pieces. C++/CLI would be a good option for a bridge between managed/unmanaged C# and C++ if you wanted to go with a hybrid, though.

    That said, I am actively rewriting Spaghetti entirely in C++. I have my reasons but none of them are due to a lack of ability of C#. Performance was fine, too. Mainly I just got tired of dealing with obfuscators and libraries to talk to DirectX and that sort of thing. And a big reason was just to get back to my roots and make it as efficient as possible. You can definitely create a more efficient and perfomant app with C++ but it will be much harder. Whether it is worth it to you to do so is up to you.
    Thanks John

    I have seen lot of times Spaghetti name in the forum, and also read some of your posts talking about it, but havent seen a link to a web page or some code example. Where can I take a look to Spaghetti?

  3. #43
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,305

    Default

    Quote Originally Posted by Osithlon View Post
    Thanks John

    I have seen lot of times Spaghetti name in the forum, and also read some of your posts talking about it, but havent seen a link to a web page or some code example. Where can I take a look to Spaghetti?
    Just google Spaghetti Laser Show

  4. #44
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    Not to put too fine of a point on it but.....

    There really is no such thing as C or C++ for MS Windows!

    C and C++ come from UNIX.

    All devices are files in UNIX. All files have owners and permissions. C and C++ have built in file IO functionality made for UNIX.

    Windows device drivers and file IO conventions don't conform to standard C or C++.

    Using C and C++ in Windows is like phonetically spelling Chinese words in English.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  5. #45
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,305

    Default

    Not to put too fine of a point on it but......

    you're an idiot.

  6. #46
    Join Date
    Apr 2010
    Location
    USA
    Posts
    216

    Default

    Quote Originally Posted by JohnYayas View Post
    Not to put too fine of a point on it but......

    you're an idiot.
    I wish I could "like" posts on this forum.

    james, I think you need to sit down and spend some time with the Good Book and think things over: http://www.open-std.org/jtc1/sc22/wg...docs/n1124.pdf (Specifically, consider the use of the phrase "freestanding")

  7. #47
    Join Date
    Apr 2010
    Location
    USA
    Posts
    216

    Default

    Oh, and can you tell me on which page of that document the terms "owner" or "permission" or "chown" or "chmod" appear?

  8. #48
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    C and C++ came from UNIX. That is a fact. In UNIX, the file IO is different and devices are commonly abstracted as files. Even asynchronous interprocess communications can be done with named pipes. Those are also files. If what I said wasn't true then there would be no "versions" of C and C++ and it wouldn't matter what compiler was used on which OS. The Boost C++ project is trying to unify a lot of this stuff.

    File ownership and permissions are handled by the OS and control what a running application can do with files, not the other way around.

    If you write an application and run it as root, you certainly can change the ownership and permissions of any file from code.
    Last edited by james; 07-24-2012 at 21:19.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  9. #49
    Join Date
    May 2008
    Location
    nerdtown, USA
    Posts
    1,165

    Default

    Actually, Unix came from C, pretty much.

    There's plenty of Windows code that's written in C or C++. For example, Windows is written in C++.

  10. #50
    Join Date
    Mar 2012
    Location
    Urduliz, Spain
    Posts
    65

    Default

    Im not an expert or have enough knwoledge to discuss with you guys. Just learning and enjoying the comments.

Posting Permissions

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