Giter Site home page Giter Site logo

grix / ildagen Goto Github PK

View Code? Open in Web Editor NEW
28.0 28.0 4.0 239.35 MB

LaserShowGen - Laser Show Editor / Player

Home Page: https://bitlasers.com/lasershowgen-sw/

License: Other

NSIS 0.38% Game Maker Language 60.25% JavaScript 0.35% C++ 12.58% C 25.89% Shell 0.07% Python 0.49%

ildagen's People

Contributors

grix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ildagen's Issues

Ability to split editor mode objects

Like tool to cut along a segment to make one object into two. Right now there are very limited options to editing an object that's already merged, like an imported ILD file.

[Feature Request] More keybinds?

Would be possible to have a keybind learn function or just binds for general buttons.

Here would be my wishlist:

  • Speed increase and decrease (I would be ever so grateful if there could be a BPM feature some day)
  • Rotation
  • Transform/Offset

LaserShowGen Pro Timeline Mode Rotate

Hello , i bought LSG Pro today. I just want to rotate one part of my show starting from frame x to y by 360 degrees. I have not found a proper solution for that is there no way to draw a straight line into the envelope editor? When i try to draw a line i get thousands of points... and i also only want to rotate a specific part and not to create a rotation track for the whole show.

image

Maybe you can help me

Bug: Audio out not switching to bluetooth headphones on Mac

When I have my airpods pro in my ears, the Mac automatically recognizes them, and I can play Youtube, Apple Music or other applications and hear the audio through the bluetooth headphones.
But when I play in Timeline mode on LSG, the audio is still forced through the laptop speakers.
I checked the audio/sound setting on the Mac and it does show the audio output is through the headphones (as shown in the attached screenshot).

Screen Shot 2021-12-27 at 2 09 05 PM

Framerate drops and CPU ramps up while idling.

Bug Report

Description

When running LaserShowGen under Ubuntu with more than one display connected the framerate drops drastically and CPU usage goes up. Opening a dialog box makes it worse. Often the software becomes practically unusable.

Steps to Reproduce

  1. Have at least two displays connected.
  2. Have a look at CPU usage and get a feeling for the framerate by moving the cursor.
  3. Start LaserShowGen by running ./LaserShowGen-1.11.1-Linux-AppImage.
  4. Navigate to Edit > Change number of frames (pad) and click it. (Or open any other dialog box eg. that one for entering the registration code.)
  5. Now compare the current CPU usage and framerate to the previous one.

Expected Behavior

The systems framerate doesn't change when staring the software. The CPU usage doesn't increase much when the software is idling.

Actual Behavior

The systems framerate drops (not only inside the LaserShowGen window). The software draws about 10 - 20 % of all my 20 cores distributed over multiple cores while idling.

Screenshots/Recordings

cpu

LaserShowGen was started about 50 seconds ago. The dialog box was opened 30 seconds ago and closed a bit after 20 seconds ago. Around 10 seconds ago the software was closed again. All these actions have a visible impact on CPU usage.

Environment

  • Operating System: Ubuntu 22.04.4 LTS 64-bit
  • GNOME Version: 42.9
  • Windowing System: Wayland
  • Application Version: 1.11.1
  • Hardware:
    • CPU: 12th Gen Intel® Core™ i7-12700H × 20
    • RAM: 32 GiB
    • Graphics: NVIDIA GeForce RTX 3050 Ti (4 GiB) / Mesa Intel® Graphics (ADL GT2)

Additional Information

Terminal Output:

***************************************
*     YoYo Games Linux Runner V1.3    *
***************************************	 
CommandLine: -game game.unx
ExeName= /tmp/.mount_LaserSBGMFG3/usr/bin/LaserShowGen
MemoryManager allocated: 101529
INI DisplayName=LaserShowGen
SavePrePend /home/cr/.config/LaserShowGen/ 
GAMEPAD: Initialising Ubuntu support
Attempting to set gamepadcount to 32
display=0x25bd220
Display Size(Pixels): 5280,1080
CreateDesktopWindow 1300,729
Win #1
XF86VidModeExtension-Version 2.2
Got Doublebuffered Visual!
glX-Version 1.4
Icon: w=64 h=64
Creating window of width 1300, height 729
sw=1440 wh=900
WindowCentre: 70,85
Depth 24
Congrats, you have Direct Rendering!
sync = 0
**** GLX Extensions ***
GLX_ARB_context_flush_control GLX_ARB_create_context GLX_ARB_create_context_no_error GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_no_config_context GLX_EXT_swap_control GLX_EXT_swap_control_tear GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_video_sync 
Checking for GLX_EXT_swap_control
Vsync: GLX_EXT
DOUBLE BUFFERED
OpenGL: version string 4.6 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL: vendor string Intel
OpenGL GLSL: version string 4.60
Anisotropic filtering supported, max aniso 16
This is where it would have set them fullscreen= 0, they are 1300,729    displaywidth/h 1440,900
Collision Event time(microsecs)=92
Opened libopenal.so...
alcCreateContext : 0x7315f882a8d0
alcOpenDevice : 0x7315f8827fc0
alcMakeContextCurrent : 0x7315f882cba0
alGenBuffers : 0x7315f880ed20
alGenSources : 0x7315f8818050
alGetError : 0x7315f880ffc0
alBufferData : 0x7315f880e660
alSourceQueueBuffers : 0x7315f8818f90
alSourcePlay : 0x7315f881a010
alSourceStop : 0x7315f8819cc0
alGetSourcei : 0x7315f88189f0
alSourceUnqueueBuffers : 0x7315f8819330
alDeleteSources : 0x7315f8817e00
alDeleteBuffers : 0x7315f880ec20
alcDestroyContext : 0x7315f882ca80
alcCloseDevice : 0x7315f882c8a0
alcGetString : 0x7315f882c080
alcGetIntegerv : 0x7315f882bfe0
alcCaptureOpenDevice : 0x7315f8827ca0
alcCaptureCloseDevice : 0x7315f882a7d0
alcCaptureStart : 0x7315f882a730
alcCaptureStop : 0x7315f882a690
alcCaptureSamples : 0x7315f882a5a0
g_device is 0x3a392b0
g_context is 0x3a37160
g_context is set as current
CreateColPairs took 0.000000s 52 usecs for 175 object types obj_col_numb=0 physobjcount=0 resizes 0 final size 0
----------
[0.000054]        == libetherdream started ==
[0.000521]        _: listening for DACs...
save location:  /home/cr/.config/LaserShowGen/temp/  
window size  1350  735  
palette loaded, size: 192  

Compiled APIs:
  Linux ALSA

There are 1 MIDI input ports available.
  Input Port #0: Midi Through:Midi Through Port-0 14:0

Midi Through:Midi Through Port-0 14:0  

Setting MIDI port to Midi Through:Midi Through Port-0 14:0
Checking for updates  
Successful verification  
Creating exception handler  
Total memory used = 28859352(0x01b85bd8) bytes 27.52MB
Peak memory used = 11238666(0x00ab7d0a) bytes 10.72MB
**********************************.
Entering main loop.
**********************************.
Rescaled window views  
GraphicsResetM called with g_NewWindowWidth=1350 g_NewWindowHeight=735 g_WindowWidth=1300 g_WindowHeight=729 g_ClientWidth=1300 g_ClientHeight=729
This is where it would have set them fullscreen= 0, they are 1350,735    displaywidth/h 1440,900
Rescaled window views  
Window Size w=1350 h=735
done 1
Checking version  
Pause event has been registered for this frame
Pause event has been unregistered
Window closed
Attempting to set gamepadcount to 0
Script_Free called with 1526 and global 762
done 1
AL lib: (EE) alc_cleanup: 1 device not closed
LaserShowGen-1.11.1-Linux.AppImage: /usr/src/packages/BUILD/Alc/ALc.c:779: LockLists: Assertion `lockret == althrd_success' failed.
Aborted

Newest version breaks image import

Hi,
Just wanted to leave a note that the newest version breaks 'toggle image for background tracing' function (or whatever it's official name is! sorry)

I'm on OS X 11.7.2
Cheers

Feature request: I should see the filename somehow when in editor mode

When importing an ILD file into the editor mode, once I've loaded the file and using it - I don't see a display of the name of the file currently loaded into the editor.
When browsing through a large list of ILD files, it would be nice to see the filename and file info (size, date, etc) in the editor mode screen.

UI won't scale well on HighRes screen

While the canvas does, the rest of the UI elements won't scale on a HighRes screen like of a MacBook Pro (running Parallels Desktop virtualization).

The two attached screenshots may look okay on a desktop but it's hard to work with on a 15" laptop screen. (2880x1800)
Bildschirmfoto 2019-11-05 um 22 31 41
Bildschirmfoto 2019-11-05 um 22 31 46

Fonts with more glyphs for text tool

Japanese, chinese, korean, cyrillic, devanagari etc.
Some fonts use diacritics or merged characters that doesn't work with current workflow. And some symbols become very complex with dual-stroke fonts.

BPM-based timing

Ability to set/detect a BPM from the music, and show the time units in the timeline mode in bars rather than seconds/frames.

ILDA that cannot be open with a laser projector

Hi!

Thanks for your amazing package!

I am a bit not sure if you may help me with that, but anyway any assistance will be appreciated. I implemented a little svg2ilda converter very similar to this one -> https://github.com/marcan/openlase/blob/master/tools/svg2ild.py
The problem is actually in the fact that I can open ilda files in LaserShowGen, in LaserOS, but a real laser projector refuses to draw any animation. Then, if I re-export my files with LaserShowGen it starts working, but it has some glitches that I would like to avoid. Do you maybe have any idea what do I do wrong?

I use the following laser projector: https://www.ebay.co.uk/itm/225907853137?itmmeta=01HPM4EXEZSWJJ89HGF4VGMGT0&hash=item3499284751:g:XyMAAOSwWrFkmUzg&itmprp=enc%3AAQAIAAABIIxbUAGHYdl7I6pXMGEHurSJ2SFMot653ccVRP0Ds3Amof%2BenAHmh8dyo%2FpaaEf2DTOuTmuINXKvPghvIDVvRT%2BSWFfo42z%2BV%2Fx12UF9Qnr%2FLNMzkRjAFqj2ewbDM5F9coPXaefvrQQ49H6rzo5xI%2Fee6Ep89rXlvfxKdltocgTvEaxJwn%2FZFf%2FpDrXQLxbfggtdFzODj2Gp5TpgzrV8Vfo%2BFApAGkd9reVhxgRWHXJ%2BsEhxFfeEVD5JXENkhTvZcJbeGV2FEzhyiwyNASDQ1sgc5GfXKhB8Wfd4qIUAVEHA8WqpD32LtfKEzJUiz%2BfGxXaIxSjMQZWDjQH080ZmIB%2FEFTulmyNBy7gvw7HonzRYBqYEKduYlR1AeV4hAutf0w%3D%3D%7Ctkp%3ABFBMxte7hLVj

I also attach down below a sample ilda file, and one re-exported from LaserShowGen (in a zip archive).
ild-files.zip

Any feedback will be appreciated, thank you a lot for reading this message!

When saving a timeline project after opening - it puts wrong default filename in dialog box

Steps to reproduce:

  1. Open LSG
  2. Load a timeline project (ie: shine.igp) in a specific location
  3. Edit it, and add or change something.
  4. Go to File -> Save project

Instead of seeing shine.igp in the dialog box, it shows example1632 and it's default location is a different location than the original file was loaded (in my case - it was in ../LSG/ directory so I have to navigate to that directory, and then click on the greyed out shine.igp file and hit save, which then brings up the "are you sure you want to replace..." dialog box.

At the least - it shouldn't change filename or location.

Screen Shot 2022-01-03 at 4 32 55 PM

Fix occasional small gap in the drawing path

Sometimes a tiny section at the end of objects are blanked when it's supposed to be visible. Mostly only noticeable in some letters in the text tool in certain optimization settings.

Art-Net support

Input in Grid Mode, like MIDI
Output points in Timeline mode

Feature request: Create a timer showing how long a user has been editing a specific file

Just out of curiosity, I'd love to know how many hours it takes me (or someone else) to edit a specific timeline file. Not sure how you would measure time "editing" because I often will keep LSG open when I close the lid of the Mac, so you would have to measure keystrokes or mouse movements or something to indicate the user is actively changing a timeline, and only time those behaviors.

Fix rare list index crash

Probably has to do with list indexes being reused internally in the engine, and overwriting an orphaned list index that was supposed to be deleted. But no idea where this happens.

Bug: Frame number in timeline too small

You can see the incredibly small frame numbers in the timeline window, on a Macbook pro M1 with retina display. For scale, compare to the other text on the page. I have the application in full screen mode in the first image, and the second image is the same application session, in editor mode where you can see the frame number text is much bigger than in the timeline window.

Screen Shot 2021-12-27 at 4 34 28 PM

Screen Shot 2021-12-27 at 4 41 39 PM

[Feature Request] Access to object parameters + keyframing

I started using LaserShowGen recently and I have some ideas that I think could possibly improve the software.

It would be great to be able to access directly the parameters of the selected item. For example:

  • A line would have a Start and an End coordinate field.
  • A circle could have a Center and Radius Field
  • Etc

It would also be really helpful to have a keyframe button next to each parameters relative to the position of the cursor on the timeline.

I am very used to the Blender/Premiere Pro workflow and I am sure a lot of other users are too.

Thanks, I appreciate the software!

macOS Version displays error on start

Trying to launch the 1.8.1 macOS version of LaserShowGen, I just get a little window saying "Unable to find game!!:". Hitting "Ok" closes the app.

Tried this on two Macs both running macOS Catalina.
LaserShowGen macOS error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.