Skip to content

Feature idn - #2047

Open
mkname wants to merge 9 commits into
mcallegari:masterfrom
mkname:feature-idn
Open

Feature idn#2047
mkname wants to merge 9 commits into
mcallegari:masterfrom
mkname:feature-idn

Conversation

@mkname

@mkname mkname commented Jun 14, 2026

Copy link
Copy Markdown

Description

Summary of Changes:
The change adds a plugin for creating a new output for sending IDN pakets. IDN (ILDA Digital Network) is a standard of ILDA for sending laser and also DMX data over ethernet.

Checklist

  • I have read and followed the QLC+ Coding Guidelines.
  • My code adheres to the project's coding style, including:
    • Placing opening braces { on a new line for functions and class definitions.
    • Consistent use of spaces and indentation.
  • I have tested my changes on the following platforms:
    • Linux
    • Windows
    • macOS
  • I have added or updated documentation as necessary.

Additional Notes


Thank you for your contribution to QLC+!

@mcallegari

Copy link
Copy Markdown
Owner

Please don't make use of external dependencies.
Port the JSON read/write code to Qt.

@mkname

mkname commented Jun 15, 2026

Copy link
Copy Markdown
Author

Switch to Qt json is done, also the code analysis also runs through now.

@mkname

mkname commented Jun 15, 2026

Copy link
Copy Markdown
Author

Saw the new checks, wondering why it compiled & worked on linux and windows for me, working on it.....

@mkname

mkname commented Jun 15, 2026

Copy link
Copy Markdown
Author

Tested again, should hopefully compile now. Sorry for the inconveniences

@coveralls

coveralls commented Jun 16, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 35.287%. remained the same — mkname:feature-idn into mcallegari:master

@mcallegari

mcallegari commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Thanks for the improvements and the contribution
Before merging this, I'd need a way to test the plugin, like a software or a minimal hardware.
Can you please point me to something that I can download or purchase for testing?
(I had a look at this http://ilda-digital.com/)
This would also ensure to prevent regressions in the future when a rework or build issues occur.
Thanks

@mkname

mkname commented Jun 16, 2026

Copy link
Copy Markdown
Author

I think right now there is no software for testing IDN with DMX. I am currently working on a DMX implementation in OpenIDN (https://gitlab.com/laser_light_lab_uni_bonn/OpenIDN-Laser-DAC-Framework), but just like the plugin, the implementation is part of my bachelor's thesis and so I will need a few weeks for a stable version of OpenIDN with DMX support. Then it should be possible to connect a USB to DMX Adapter (Enttec Open DMX USB / DSD Tech USB to DMX) to a raspberry pi / rock pi / ubuntu machine with OpenIDN running on it and get an output to a dmx light. QLC+ and OpenIDN would have to be in the same network.
The only other options (with which I tested the plugin) are not for sale (anymore) but I will ask in the next IDN meeting, if someone else has an idea for testing. I will comment again, as soon as I have a solution.

@mkname

mkname commented Aug 3, 2026

Copy link
Copy Markdown
Author

I do now have a version of openidn for testing the feature: https://gitlab.com/laser_light_lab_uni_bonn/OpenIDN-Laser-DAC-Framework/-/tree/DMX_FTDI_OpenDMX?ref_type=heads.
After compiling on e.g. a raspberry pi you can use ./openidn --dummy and see which channels are incoming. If you have a FTDI Digital-to-Analog Converter like the Enttec Open DMX USB Interface or DSD TECH SH-RS09B USB to DMX, you can also plug that in the machine that runs openidn, install the libftdi1 driver and use ./openidn --ftdi-dmx. Please note that the optimized send service modes are currently not supported by OpenIDN, when checking the Wireshark packets, it was correct.
If you have any problems with OpenIDN please let me know (of course also when encountering problems with the plugin).

@jpue

jpue commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

To make this clear from the beginning: I do not want to interfere with mcallegari’s review process, nor am I any spokesperson/authority for this project. However, based on the knowledge I have gained from my previous contributions, I would like to suggest the following changes to this PR:

  • remove the plugins/idn/idn.pro file
    QLC+ removed qmake support months ago (in 3ed0ab0), so this type of build configuration file is no longer needed.

  • if you want to add a *.metainfo.xml to your plugin, please use the same format as most other plugins (see, for example, the artnet plugin)

  • the (German) translation file you added is wrong; it belongs to the dmx4linux plugin
    Please remove it (the translation files are then going to be added during the next translation update) or correctly generate them yourself:

# inside the root directory of your repository

# updates the existing German translation
./translate.sh update

# create the remaining translation files
# for ll_CC in { es_ES fr_FR it_IT nl_NL cz_CZ pt_BR ca_ES ja_JP ru_RU uk_UA pl_PL }
./translate.sh create <ll_CC>

git add plugins/idn/IDN_*.ts
  • (probably most importantly) format your code according to this project’s guidelines:
    • based on the Qt Coding Style
    • with one important exception: brackets must be on a new line
    • see here for a discussion/explanation of some details regarding this coding style
    • To be honest, I sometimes get this wrong too, unfortunately. Nevertheless, we should strive to adhere to the coding style.

@mkname

mkname commented Aug 8, 2026

Copy link
Copy Markdown
Author

Thank you so much, I updated my branch with your hints and hope I did not forget anything and that it is better now. The changes make completely sense but I did not look at the files again and thought I applied the coding style, but found problems again which are hopefully fixxed now.

@mcallegari

Copy link
Copy Markdown
Owner

@jpue thanks for the review. I would have said the same

@mkname thanks for the improvements. At the moment I am working on other topics so my time is very limited. When I have some I'll test with the OpenIDN framework. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants