Page 15 of 67 FirstFirst ... 511121314151617181925 ... LastLast
Results 141 to 150 of 670

Thread: The LaserBoy Thread

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

    Default

    Quote Originally Posted by james View Post
    Uh.... Ok..... Have you ever heard of Boost C++? It is all about making C++ more cross-platform independent (and some other stuff). It is not just an API like libSDL (which I use with LaserBoy). It is an extension of C++ that adds new functionality to the language (which I also use in LB). It is probably where C++ is going to go in the future.
    Not really. I have been monitoring what is going on with C++ for the past several years. Some of what is introduced by Boost has been rolled into the C++ language starting with C++ 11 but if you look at the roadmap since then and for the future the direction C++ is taking is not really to add Boost libraries but add things like module, better concurrency programming, concepts, and things that just make the language less prone to memory leak issues, that make it more usable for modern programming tasks, etc. Boost, and a ton of other libraries, will need to continue to exist but they should be written leveraging the new C++ standards so that they have modern interfaces.

    isocpp.org is a good place to look at what is going on and you can find videos on YouTube from CppCon.

    Microsoft plays an active role on the standards committee. Herb Sutter is always there. But, they aren't trying to push any Microsoft related technologies or anything like that. Besides, the standards committee is so huge it would never allow that.

    If you check out the latest Microsoft compatibility matrix Visual C++ is a lot more up to date with the standard than it has ever been. Programming in modern C++ is a lot of fun.

  2. #142
    Join Date
    Mar 2007
    Location
    UK
    Posts
    244

    Default

    Quote Originally Posted by james View Post

    Have you noticed That LB compiles and runs in Linux, Windows, Mac OSX and others from exactly the same source code?

    If you don't get OOP and cross platform APIs...... Uh, well.... It might not mean a whole lot to you.
    ”console” type applications are of course able to do achieve this if well written keeping to the language requirements. The difficulties start to come about if you want to produce a program that works with the modern GUIs on the host operating system. As soon as you need to start giving users the basic things like mouse and touch support, and presenting them with the standard user “controls” that exist on the host OS, then you have rely on host’s API, or use one of the cross-platform GUI libraries, the latter of which never tend to look or behave exactly like the native OS controls.
    Laser Safety
    https://www.lvroptical.com
    https://www.facebook.com/LaserSafety

    - Laser Show Safety Training & Audience Scanning Workshops.
    - Effects Assessment, and Realtime MPE Measurement
    - Pangolin PASS System Integrator

  3. #143
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    I love C++! It is really my go-to language for just about anything.

    I like the fact that it gives so much control of memory usage. It does not automatically track memory use. That is up to the developer. For this reason, it compiles and runs without the extra baggage of automatic memory tracking or "garbage collection". But a developer has to know how memory leaks happen and how to avoid them.

    I also like the fact that it supports multiple inheritance. I really don't know how I could have created the complex, hierarchical data structure that is the core of LB without that!

    I really like the concept of operator overloading. That can make code very elegant and intuitive. Automatic cast conversion of types is also very nifty. And templates or the idea that type itself can be treated as a variable is amazing.

    Probably the most complicated aspect of C++ programming is figuring out what order to prototype all of the classes, especially when working with a set of classes that form a structure of containment. Being able to pre-declare a class type and use it before it is defined is indispensable. Sometimes an object needs to have a pointer or reference to a class that will ultimately contain it. With pre-declarations it is possible to define a class that knows how to access the resources of the class that contains it before the container class is even defined. That's like magic! It really illustrates the old question of which came first, the chicken or the egg? The concept of the chicken is declared before the egg is defined so that the egg knows what a chicken is. Then the chicken is defined.

    I know there are many languages that have been created after C++ to address some of the more challenging aspects of programming in C++, but I think that C++ will be around for a very long time.
    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.

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

    Default

    Would anyone like to test a new version of LaserBoy and report any issues you might find here?

    If so, DL http://laserboy.org/code/LB_temp.zip

    You will get just the Windows exe file and a folder called fonts.

    You need to have already unzipped the whole current distribution of LB somewhere on your hard drive.

    Replace LaserBoy.exe in the root of ./LaserBoy/.

    Move the fonts folder (from the zip) to inside of ./LaserBoy/ild/

    New features include the ability to create subdirectories inside of ./LaserBoy/ild/

    LaserBoy no longer looks for font files in the ild folder. They are now in the ./LaserBoy/ild/fonts/ folder.

    There is also a new feature that allows you to select the first frame of every place you would like to split up a single ild file into a directory full of ild files (each starting at a selected split point and ending at one frame before the next split point).

    Let me know what you think!

    I would like to release this version as soon as possible.

    Thanks!

    James.
    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. #145
    Join Date
    Jul 2008
    Posts
    768

    Default

    Quote Originally Posted by james View Post

    There is also a new feature that allows you to select the first frame of every place you would like to split up a single ild file into a directory full of ild files (each starting at a selected split point and ending at one frame before the next split point).


    James.
    I got that part to work, but is there a shortcut way to select all frames in a loaded set in one shot?

  6. #146
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    You can select any set of consecutive frames using the ( key on the first frame and the ) key on the last frame.

    Hitting the 9 on the top row of the keys will take you to the first frame and the 0 (zero) will take you to the last frame.

    You can also go to a frame index by hitting the y key.

    If there are more than 100 frames, the z or the Z key will jump through the frame set plus or minus 100 frames at a time.

    You can get an idea of what LaserBoy just did by looking at the TUI Clue in the bottom right of the window.

    I see where you're going there. I should have tested that too! Oops.

    I just selected all frames in in.ild and tried a split. The app crashes and there is no data saved in the last ild file. But it is there by name.

    I'll fix that tomorrow!

    Thanks for checking it out!

    James.
    Last edited by james; 11-27-2018 at 20:10.
    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.

  7. #147
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    OK I fixed it.

    DL again please!

    http://laserboy.org/code/LB_temp.zip

    Changes:

    Fixed issue with switch(abs( ... to be switch(int(abs( ... so it will compile with no errors on Raspberry Pi.

    Added the ability to create directories inside of the ./LaserBoy/ild/ directory.
    Added navigation into and out of these directories in the ild input and output menus.

    Created a new subdirectory ./LaserBoy/ild/fonts/ and moved all of the included ild font files into this folder. Removed the "font_" from the beginning of each font file name. Now LaserBoy knows to look inside of this folder to find font files to either render DXF frames that contain TEXT ENTITES or when rendering text in the m render segments by coordinate menu.

    Added new feature in the ild output menu to be able to split a frame set by selecting the first frame of every split point. Go into menu o to output, 1 for file type ild, 5 split frame set into new directory. Type the name of the new directory you want to create. Hit [Enter]. A new directory of ild files will be created with each file named [new directory name]_xxxxx.ild, where [new directory name] is the name you entered and _xxxxx is a number beginning with _00000 and incrementing to however many new files were created minus one.

    Removed the color cycling effect from all frame and frame set effects. If you want to apply color cycling to a frame or frame set, there is an effect that does that called rainbow.

    Added the feature to be able to name the file output by any frame or frame set effect. These files can also be placed inside of any directory inside of ./LaserBoy/ild/.

    Changed the order of output options in the file output save as wav menu to put the LaserBoy optimized wave file options at the top positions of 1, 2, 3, and 4. Bumped down the unoptimized options to 5, 6, 7, and 8.

    Fixed up some of the text user interface messaging to make a bit more sense.
    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.

  8. #148
    Join Date
    Jul 2008
    Posts
    768

    Default

    It doesn't look like the System Switch Settings are being saved properly in the WTF file, and the problem is not new to this version- I don't know when it last worked.

  9. #149
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    Ok. I will look at all that tomorrow. Thanks again for checking this stuff out.

    James.
    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.

  10. #150
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    Good gravy! I don't know how the hell you found that! But only two of the wtf switch settings values were swapped between writing the file and reading it back in.

    in >> auto_apply_offsets ;
    in >> auto_apply_rescales ;

    So I fixed that too!

    Thanks!

    James.
    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.

Posting Permissions

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