Page 1 of 1

Feature Request - Jump Random

Posted: Fri Jan 26, 2024 4:13 pm
by jkanzel
Hello!

Using the "jump to" scene selection is great for creating scene loops or paths, but they will always follow the same pattern. There's no way to add variation to these jumps.
Screen Shot 2024-01-25 at 7.37.25 PM.jpg
Screen Shot 2024-01-25 at 7.37.25 PM.jpg (160.84 KiB) Viewed 3259 times
I suggest options "Random in Bank" and "Custom Random" (random in a chosen set of scenes)

Others have shown interest in this feature as well.
https://forum.daslight.com/viewtopic.ph ... dom#p24614
https://forum.daslight.com/viewtopic.ph ... dom#p23171
https://forum.daslight.com/viewtopic.ph ... dom#p18736


Regards,
JK

Re: Feature Request - Jump Random

Posted: Fri Mar 29, 2024 5:06 pm
by pkap
I'm looking for this as well. Actually, I was convinced that this would have to exist in the tool, and found it hard to believe it is not there. It sounds as something totally obvious to want and easy to implement in the way you suggested.

There was even a user @DjRasputin mentioning in this post, that he had a C# tool generating MIDI data. Maybe he could jump in and share how he did that (custom virtual midi device?). Maybe he would even be willing to share his code? ;)

It was this post
Random Scene

Re: Feature Request - Jump Random

Posted: Sat Mar 30, 2024 4:41 pm
by pkap
Thanks to ChatGPT I figured out how to control this from a small external script using loopmidi and python.

Install https://www.tobias-erichsen.de/software/loopmidi.html, start it and add a virtual device, name it "YourVirtualMIDIPortName"

Code: Select all

pip install mido python-rtmidi

Code: Select all

import mido
from mido import Message
from time import sleep

# List all available MIDI output ports
print("Available MIDI ports:")
print(mido.get_output_names())

# Replace 'YourVirtualMIDIPortName' with the name of your virtual MIDI port created in loopMIDI
port_name = 'YourVirtualMIDIPortName'

# Check if the port exists
if port_name in mido.get_output_names():
    with mido.open_output(port_name) as port:
        # Send a MIDI note on message (note 64 = E4, velocity 64, channel 0)
        port.send(Message('note_on', note=64, velocity=64, channel=0))
        sleep(1)  # Wait for 1 second
        # Send a MIDI note off message
        port.send(Message('note_off', note=64, velocity=64, channel=0))
        print(f"Sent MIDI note on/off messages to {port_name}")
else:
    print(f"MIDI port '{port_name}' not found. Please ensure it's created in loopMIDI and named correctly.")
Add YourVirtualMIDIPortName as a MIDI IN in Daslight, open the midi mapper and add the scene of your choice as note controlled, mapping it to Channel 1 [sic] and note E-4. While in the python script the channels are 0 based, in Daslight they start at 1.

Re: Feature Request - Jump Random

Posted: Mon Apr 01, 2024 11:50 am
by pkap
I added some effort, to reach my goal of letting my Showlaser play its patterns in a random fashion while still having control on which of these are played.

See the results here:
https://github.com/scaiandre/daslightMidi

This is just a tiny script around the work of Tobias Erichsen's loopMidi. Thanks a lot!
https://www.tobias-erichsen.de/software/loopmidi.html

Re: Feature Request - Jump Random

Posted: Fri Apr 12, 2024 2:29 pm
by willm
Hello!

Thanks for the suggestion, I have logged this into our future ideas box and we will definitely consider this feature going forward. I can of course not guarantee if or when the feature will be added, but it will certainly be taken into consideration! :)

Kind regards,
Will

Re: Feature Request - Jump Random

Posted: Fri Apr 12, 2024 4:30 pm
by pietia
When we are in the above topic, I would suggest to revamp this window for easier selections scenes in order to build custom scenes (maybe scenes from the bank displayed in the rows?)