Questions for filipe

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

Post Reply
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 360 times

Questions for filipe

Post by j_e_f_f_g »

Filipe,

I referenced your DISTRO code when writing LV2 Create, and I have a few questions about the former.

First, you reference the extension "http://lv2plug.in/ns/ext/programs#interface", but this isn't listed on the official lv2 site. Is this your own extension?

Second, two requirements you list for state support are a Event output port, and the worker extension. But example plugins I've seen don't use these for state support. Why those requirements?

Thanks in advance.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 360 times

Re: Questions for filipe

Post by j_e_f_f_g »

falkTX wrote:it's my own lv2 extension.[\quote]
LV2 presets extension is host-only, the plugin never knows about them
Presets are for the endser to choose/save. The current implementation makes sense to me.
LV2 worker extension is needed if you want to do DSP<->UI the proper way without instance-data.
Not sure what you mean. Are you referring to passing data between the DSP and UI threads without copying the data to an "event buffer", and making the other thread poll an event port?

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

tramp
Established Member
Posts: 2434
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 11 times
Been thanked: 556 times

Re: Questions for filipe

Post by tramp »

the LV2 worker extension is mean to do work for the dsp part, which didn't needs (or can't) be done in realtime. Loading a sample, for example. The tread to do it is provided by the host. You can asses it from the dsp part, send data and pointers to receive the results.
From the UI you can send a message to the dsp part, the dsp part sends a message to the host, the host provide a thread to do the work, and you could use the results then in the dsp. This way, UI and dsp didn't need to communicate directly, but all communication runs over the host.
On the road again.
Post Reply