Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

379 Cartridge Manager refractor (see original cartridge name) #438

Merged
merged 5 commits into from
Jul 24, 2024

Conversation

asb2m10
Copy link
Owner

@asb2m10 asb2m10 commented Jul 21, 2024

The Cartridge Manager needed a haircut. If you click on the cartridge name on the right bottom it will open the OS file browser for this cartridge.

Comments are welcomed.

Dev builds are available here : https://github.com/asb2m10/dexed/actions/runs/10032291816

This should close #379 and (already closed duplicate #374)

image

@FulopNandor
Copy link
Contributor

I built debug versions with the application of the branch 379-cartmanager_refactor. and experienced the followings:

In MS Windows 10

The new function worked correctly in case of both the standalone Dexed.exe and the Dexed.vst3 plugin, i.e.

  • the name of the proper cartridge (.syx) file was shown in the cartridge manager window, after the label Based on cartridge, if the .syx file existed in its original subdirectory, and
  • and the [No reference to original cartridge] label appeared in the cartridge manager window, when the given .syx file were removed from its original location.
    Furthermore, when I clicked onto buttons LOAD, SAVE, and SHOW DIR, they worked properly, i.e. I was able to load and save cartridges, and take glances to the subdirectories containing them without any problem.
    However, the line
JUCE Assertion failure in juce_Component.cpp:2666

always appeared in DebugView, whenever I opened the cartrigde manager window.

In Raspbian OS (bookworm) 64 bit Linux (Raspberry Pi4)

I have Raspberry Pi4 only, as a Linux host, so I was not able to run the component packed into linux-bin.zip. For this reason, I cloned the Dexed repo into my RPi4, then applied the branch 379-cartmanager_refactor and built Dexed in DEBUG mode.

Standalone Dexed

The jackd was started first, then I started Dexed from Terminal.

When I clicked onto button CART, the cart manager window opened but the following line also appeared in the window of the running Terminal:

JUCE Assertion failure in juce_Component.cpp:2666

However, the new function seemed to work properly, i.e:

  • the name of the proper cartridge.syx file was displayed in the cartridge manager window, beside the label Based on cartridge, when the .syx file existed in its original subdirectory, and
  • the [No reference to original cartridge] label appeared in the cartridge manager window, when the given .syx file were removed from its original location.
    Furthermore, when I clicked in LOAD, SAVE, SHOW DIR, they worked properly, i.e. I was able to load and save cartridges,
    and take glances to the subdirectories containing them.

carla-single

I built a carla for RPi4 from https://github.com/falkTX/Carla.git, and started carla-single invoking the Dexed.clap:

$ carla-single clap /home/fn/.clap/Dexed.clap

Among others, the following messages also appeared in the running Terminal, which ones maybe relate to Dexed, too, but I guess that these are not Dexed's fault:

[carla] Plugin requested unsupported CLAP extension 'clap.log'
[carla] Plugin requested unsupported CLAP extension 'clap.thread-check'
[carla] Plugin requested unsupported CLAP extension 'clap.thread-pool'
[carla] Plugin requested unsupported CLAP extension 'clap.audio-ports'
[carla] Plugin requested unsupported CLAP extension 'clap.audio-ports-config'
[carla] Plugin requested unsupported CLAP extension 'clap.note-ports'
[carla] Plugin requested unsupported CLAP extension 'clap.resource-directory/1'
[carla] Plugin requested unsupported CLAP extension 'clap.params'
[carla] Plugin requested unsupported CLAP extension 'clap.track-info/1'
[carla] Plugin requested unsupported CLAP extension 'clap.track-info.draft/1'
[carla] Plugin requested unsupported CLAP extension 'clap.note-name'
[carla] Plugin requested unsupported CLAP extension 'clap.remote-controls/2'
[carla] Plugin requested unsupported CLAP extension 'clap.remote-controls.draft/2'
[carla] Plugin requested unsupported CLAP extension 'clap.voice-info'
[carla] Plugin requested unsupported CLAP extension 'clap.context-menu/1'
[carla] Plugin requested unsupported CLAP extension 'clap.context-menu.draft/0'
[carla] Plugin requested unsupported CLAP extension 'clap.preset-load/2'
[carla] Plugin requested unsupported CLAP extension 'clap.preset-load/2'
[carla] CarlaPluginCLAP::clapTimerRegister(20, 0x7fa080f21c)

and a further one, such a line appeared, which might be caused by the Dexed:

JUCE Assertion failure in clap-juce-wrapper.cpp:1658

Unfortunately, clicking onto virtual keyboard of Dexed, no sound was produced unlike in case of the standalone Dexed.

Whenever I clicked button CART, the line

JUCE Assertion failure in juce_Component.cpp:2666

always appeared - but the new function (i.e. the proper filename of the cartridge recently selected was shown, or the label [No reference to original cartridge] instead of it when the file was not available) worked properly, like in case of the Standalone Dexed.

qtractor

I have not too much experience related to qtractor, too, despite it I have tried its latest version available for Raspbian OS:

$ /usr/bin/qtractor --version
Qtractor 0.9.31
Qt: 6.4.2

I created a simple test session, having a single track (MIDI type) and single clip, and inserted Dexed.clap into the Track 1 being in Mixer view there, and I set its Activate to on. During these operations, several lines appeared in the Message view of the qtractor; among them there were two ones, which could be related to Dexed:

(... omitted ...)
JUCE Assertion failure in clap-juce-wrapper.cpp:1658
(... omitted ...)
qtractorClapPlugin[0x55980a45b0]::openEditor: could not get the resize hints of the plugin GUI.
(... omitted ...)

When I clicked to Dexed's rectangle at Track 1 in the Mixer View, the Dexed's editor window appeared, and also this line:

qtractorClapPlugin[0x5579669de0]::openEditor: could not get the resize hints of the plugin GUI.

Unlike carla-single, the Dexed produces sounds when I clicked onto keys of its virtual keyboard.

When I clicked onto button CART, the line

JUCE Assertion failure in juce_Component.cpp:2666

also appeared again (and at each case, whenever I clicked it again, in the followings, but, the cart manager window also opened at each time successfully).

Unlike carla-single, when I clicked any particular voice in the cart manager window, the entire Dexed editor was closed suddenly. But, when I re-opened Dexed editor, it showed the name of the last selected voice before the close.

In the cart manager window, when I double-clicked on some cartridges, or tried to load a cartridge by a double-click, the entire qtractor crashed by a

Segmentation fault (core dumped)

When I started qtractor again, and opened the test file, qtractor immediately crashed by a Segmentation fault again.

And, after a relaunching of the qtractor and making another test session, I opened the Dexed editors again. I opened cartridge manager window and selected voice LAURIE instead of Say Again. As a response, the Dexed's editor closed itself immediately again, but voice name LAURIE was shown on the main window of Dexed.
But, when I clicked onto the keys of the virtual keyboard, no sound was produced, and no VU-meter showed any activity.

I saved the session, exited qtractor, then re-launched, and re-opened the last saved file: unfortunately, qtractor also collapsed by a ˙˙Segmentation fault``.

I launched qtractor again, created a brand new session, etc., etc., inserted Dexed.clap, I was able to select SynprezFM_01.syx by single clicks, and select a voice from the vertical choices (e.g. SITAR). Although the cartridge selector window closed itselt, the name SITAR was displayed in the main window of Dexed

Briefly: the common behaviour of qtractor+Dexed.clap is very unstable, so I have given up this kind of testing.
But I am almost 100% sure, that I have never seen a Based on cartridge label in the cartridge manager window of Dexed.clap, only [No reference to original cartridge].

@asb2m10
Copy link
Owner Author

asb2m10 commented Jul 24, 2024

Thanks for the complete feedback @FulopNandor, this is highly appreciated.

I've fixed the JUCE Assertion failure in juce_Component.cpp:2666 so I think we are good to go.

The issues you listed with carla and qtractor are CLAP related and should be addressed elsewhere. I've tested CLAP on Bitwig and Reaper and I didn't have any issues.

I will have to do a DAW / plugin type compatibility matrix to match what is supported and not.

@asb2m10 asb2m10 merged commit 8fdafa3 into master Jul 24, 2024
3 checks passed
@asb2m10 asb2m10 deleted the 379-cartmanager_refactor branch August 1, 2024 22:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

See name of currently loaded cartridge
2 participants