On Mon, Oct 28, 2013 at 10:24 AM, Aurélien Leblond <blablack@gmail.com> wrote:
> The map object is 'just there' for when you need it, like creating new
> forges ;) I've always wondered if it made more sense to provide a accessor
> method to it for clarity Plugin::get_urid_map() const or something like
> that.
>
> That looks right for creating a forge, AtomForge's ctor will call
> lv2_atom_forge_init
> when the map is passed in (just like you do above)
>
>>
>> void Scope::run(uint32_t nframes)
>> {
>> // you're sending things in an atom sequence so get the size
>> information
>> // from the port buffer
>>
>> LV2_Atom_Sequence* aseq = (LV2_Atom_Sequence*) p (p_notify);
>> m_forge->set_buffer ((uint8_t*) aseq, aseq->atom.size);
>>
>> m_forge->sequence_head(m_notify_frame, 0);
>>
>> // sequences need a timestamp for each event added
>> m_forge->frame_time(0);
>>
>> m_forge->write_float(1604);
>> }
>>
>
> Still nothing happening on the GUI end ay? Could I just have a link to the
> full source code? I'm better debugging hands on. Sorry, I can't recall the
> git address to your plugin set.
>
> Forging atoms (in a way that actually works) isn't by any means a straight
> forward process.
Thanks for checking, I really have the feeling I'm missing something
small here :)Yep, missing something small seems to happen to me frequently. I'm jumping over to my Linux machine and will give it a go.
The SVN is here:
svn checkout svn://svn.code.sf.net/p/avwlv2/code/trunk avw.lv2
(Ingen is the host I use to test them)
<http://avwlv2.sourceforge.net/plugins/avw/scope/gui>
a guiext:GtkUI ;
guiext:binary <scope_gui.so> ;
guiext:portNotification [
guiext:plugin <http://avwlv2.sourceforge.net/plugins/avw/scope> ;
lv2:symbol "notify" ;
guiext:notifyType atom:Float
] .
the Port definition in the plugin's turtle :
... [a lv2:OutputPort, atom:AtomPort ;atom:bufferType atom:Sequence ;atom:supports atom:Float ; # <<<<<< NEED THIS (i think)lv2:index 1 ;lv2:symbol "notify" ;lv2:name "Notify" ;] .
I also added more debug output to the GUI... all relevant changes were committed in a git mirror on Github (its just easier for me to do that) The only files I modified were scope*.* files
You'll want to look at the GUI code, because I also show you how to 'un-package' the atom in the port_event method.
https://github.com/axetota/avwlv2/tree/devel