View Revisions: Issue #652

Summary 0000652: If using AppImage, using Calf Plugins give error
Revision 2024-02-08 19:48 by PhyllisSmith
Description When running CinGG from an AppImage, the graphics ard on the computer that created the AppImage is very likely different from what the user has therefore the UI portion of Calf Plugins can not work. (A different LV2 plugin, drowaudio-flanger.lv2, does seem to work and it has a graphical UI.)
It does not crash but the playhead just jiggles back and forth and there is the error message in a popup window something like:
    void PluginLV2Client::process_buffer(int);
    timeout: L2_Calf Reverb
Other LV2 plugins that specifically do NOT have a potential UI interface work OK. Error message comes from the following code in pluginlv2client.C

void PluginLV2Client::process_buffer(int size)
{
        PluginLV2ParentUI *ui = get_ui();
        if( !ui ) return;
        shm_bfr->done = 0;
        ui->send_child(LV2_SHMID, &shmid, sizeof(shmid));
// timeout 10*duration, min 2sec, max 10sec
        double sample_rate = get_project_samplerate();
        double t = !sample_rate ? 2. : 10. * size / sample_rate;
        bclamp(t, 2., 10.);
        ui->output_bfr->timed_lock(t*1e6, "PluginLV2Client::process_buffer");
        if( !shm_bfr->done )
                eprintf("timeout: %s",server->title);

According to what I found on the internet, you can determine if you are running from an AppImage via:
   "If the app is an AppImage, process.env.APPIMAGE contains the path to the .AppImage file, otherwise it is undefined." And then you need to find a programmatic way to determine if running from an AppImage, and somehow skip running code to bring up a UI so that you will be at least able to use the Calf plugin without the UI interface.


Revision 2024-02-03 18:11 by PhyllisSmith
Description When running CinGG from an AppImage, the graphics ard on the computer that created the AppImage is very likely different from what the user has therefore the UI portion of Calf Plugins can not work. It does not crash but the playhead just jiggles back and forth and there is the error message in a popup window something like:
    void PluginLV2Client::process_buffer(int);
    timeout: L2_Calf Reverb
Other LV2 plugins that specifically do NOT have a potential UI interface work OK. Error message comes from the following code in pluginlv2client.C

void PluginLV2Client::process_buffer(int size)
{
        PluginLV2ParentUI *ui = get_ui();
        if( !ui ) return;
        shm_bfr->done = 0;
        ui->send_child(LV2_SHMID, &shmid, sizeof(shmid));
// timeout 10*duration, min 2sec, max 10sec
        double sample_rate = get_project_samplerate();
        double t = !sample_rate ? 2. : 10. * size / sample_rate;
        bclamp(t, 2., 10.);
        ui->output_bfr->timed_lock(t*1e6, "PluginLV2Client::process_buffer");
        if( !shm_bfr->done )
                eprintf("timeout: %s",server->title);

According to what I found on the internet, you can determine if you are running from an AppImage via:
   "If the app is an AppImage, process.env.APPIMAGE contains the path to the .AppImage file, otherwise it is undefined." And then you need to find a programmatic way to determine if running from an AppImage, and somehow skip running code to bring up a UI so that you will be at least able to use the Calf plugin without the UI interface.


Revision 2024-02-02 21:42 by PhyllisSmith
Description When running CinGG from an AppImage, the graphics ard on the computer that created the AppImage is very likely different from what the user has therefore the UI portion of Calf Plugins can not work. It does not crash but the playhead just jiggles back and forth and there is the error message in a popup window something like:
    void PluginLV2Client::process_buffer(int);
    timeout: L2_Calf Reverb
Other LV2 plugins that specifically do NOT have a potential UI interface work OK.

There is a programmatic way to determine if running from an AppImage, and then you should be able to skip running the following code and then you will be at least able to use the Calf plugin without the UI interface. Code to NOT run is in cinelerra/pluginlv2client.C:

void PluginLV2Client::process_buffer(int size)
{
        PluginLV2ParentUI *ui = get_ui();
        if( !ui ) return;
        shm_bfr->done = 0;
        ui->send_child(LV2_SHMID, &shmid, sizeof(shmid));
// timeout 10*duration, min 2sec, max 10sec
        double sample_rate = get_project_samplerate();
        double t = !sample_rate ? 2. : 10. * size / sample_rate;
        bclamp(t, 2., 10.);
        ui->output_bfr->timed_lock(t*1e6, "PluginLV2Client::process_buffer");
        if( !shm_bfr->done )
                eprintf("timeout: %s",server->title);

According to what I found on the internet, you can determine if you are running from an AppImage via:
   "If the app is an AppImage, process.env.APPIMAGE contains the path to the .AppImage file, otherwise it is undefined."



Revision 2024-02-02 21:38 by PhyllisSmith
Description When running CinGG from an AppImage, the graphics ard on the computer that created the AppImage is very likely different from what the user has therefore the UI portion of Calf Plugins can not work. It does not crash but the playhead just jiggles back and forth and there is the error message in a popup window something like:
    void PluginLV2Client::process_buffer(int);
    timeout: L2_Calf Reverb
Other LV2 plugins that specifically do NOT have a potential UI interface work OK.