<div dir="ltr">On Mon, Oct 28, 2013 at 11:58 AM, Michael Fisher <span dir="ltr"><<a href="mailto:mfisher31@gmail.com" target="_blank">mfisher31@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div class="h5">On Mon, Oct 28, 2013 at 10:24 AM, Aurélien Leblond <span dir="ltr"><<a href="mailto:blablack@gmail.com" target="_blank">blablack@gmail.com</a>></span> wrote:<br>
</div></div><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">> The map object is 'just there' for when you need it, like creating new<br>

> forges ;)  I've always wondered if it made more sense  to provide a accessor<br>
> method to it for clarity   Plugin::get_urid_map() const   or something like<br>
> that.<br>
><br>
> That looks right for creating a forge, AtomForge's  ctor will call<br>
> lv2_atom_forge_init<br>
> when the map is passed in (just like you do above)<br>
><br>
>><br>
>>    void Scope::run(uint32_t nframes)<br>
>>    {<br>
>>        // you're sending things in an atom sequence so get the size<br>
>> information<br>
>>        // from the port buffer<br>
>><br>
>>       LV2_Atom_Sequence* aseq = (LV2_Atom_Sequence*) p (p_notify);<br>
>>       m_forge->set_buffer ((uint8_t*) aseq, aseq->atom.size);<br>
>><br>
>>        m_forge->sequence_head(m_notify_frame, 0);<br>
>><br>
>>        // sequences need a timestamp for each event added<br>
>>        m_forge->frame_time(0);<br>
>><br>
>>        m_forge->write_float(1604);<br>
>>    }<br>
>><br>
><br>
> Still nothing happening on the GUI end ay?  Could I just have a link to the<br>
> full source code?  I'm better debugging hands on.  Sorry, I can't recall the<br>
> git address to your plugin set.<br>
><br>
> Forging atoms (in a way that actually works) isn't by any means a straight<br>
> forward process.<br>
<br>
Thanks for checking, I really have the feeling I'm missing something<br>
small here :)<br></blockquote><div><br></div></div></div><div>Yep, missing something small seems to happen to me frequently.  I'm jumping over to my Linux machine and will give it a go.</div><div class="im"><div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
The SVN is here:<br>
svn checkout svn://<a href="http://svn.code.sf.net/p/avwlv2/code/trunk" target="_blank">svn.code.sf.net/p/avwlv2/code/trunk</a> avw.lv2<br>
<br>
(Ingen is the host I use to test them)<br>
</blockquote></div></div><br></div></div>
</blockquote></div><br></div><div class="gmail_extra" style>First things first.  Your plugin, after modifying ttl files, works fine in Jalv.   For ingen support, your best bet might be to add a Trac ticket on  <a href="http://drobilla.net">drobilla.net</a>.</div>
<div class="gmail_extra" style><br></div><div class="gmail_extra" style>Ok, so I figured out the problem...   the GUI ttl file should look something like this (with a portNotification setting)</div><div class="gmail_extra" style>
<br></div><div class="gmail_extra" style>
<pre style="margin-top:0px;margin-bottom:0px"><<a href="http://avwlv2.sourceforge.net/plugins/avw/scope/gui">http://avwlv2.sourceforge.net/plugins/avw/scope/gui</a>></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">        </span>a<span style="color:rgb(100,100,130)"> </span>guiext:GtkUI<span style="color:rgb(100,100,130)"> </span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">        </span>guiext:binary<span style="color:rgb(100,100,130)"> </span><scope_gui.so><span style="color:rgb(100,100,130)"> </span>;</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">        </span>guiext:portNotification<span style="color:rgb(100,100,130)"> </span>[</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">            </span>guiext:plugin<span style="color:rgb(100,100,130)"> </span><<a href="http://avwlv2.sourceforge.net/plugins/avw/scope">http://avwlv2.sourceforge.net/plugins/avw/scope</a>><span style="color:rgb(100,100,130)"> </span>;</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">            </span>lv2:symbol<span style="color:rgb(100,100,130)"> </span>"notify"<span style="color:rgb(100,100,130)"> </span>;</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">            </span>guiext:notifyType<span style="color:rgb(100,100,130)"> </span>atom:Float</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">        </span>]<span style="color:rgb(100,100,130)"> </span>.</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">
<br></pre><pre style="margin-top:0px;margin-bottom:0px">the Port definition in the plugin's turtle :</pre><pre style="margin-top:0px;margin-bottom:0px">          ... [
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">                </span>a<span style="color:rgb(100,100,130)"> </span>lv2:OutputPort,<span style="color:rgb(100,100,130)"> </span>atom:AtomPort<span style="color:rgb(100,100,130)"> </span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">             </span>atom:bufferType<span style="color:rgb(100,100,130)"> </span>atom:Sequence<span style="color:rgb(100,100,130)"> </span>;</pre><pre style="margin-top:0px;margin-bottom:0px">
<span style="color:rgb(100,100,130)">                </span>atom:supports<span style="color:rgb(100,100,130)"> </span>atom:Float<span style="color:rgb(100,100,130)"> </span>;   # <<<<<< NEED THIS (i think)</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">             </span>lv2:index<span style="color:rgb(100,100,130)"> </span>1<span style="color:rgb(100,100,130)"> </span>;</pre><pre style="margin-top:0px;margin-bottom:0px">
<span style="color:rgb(100,100,130)">           </span>lv2:symbol<span style="color:rgb(100,100,130)"> </span>"notify"<span style="color:rgb(100,100,130)"> </span>;</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(100,100,130)">         </span>lv2:name<span style="color:rgb(100,100,130)"> </span>"Notify"<span style="color:rgb(100,100,130)"> </span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px">              ] .</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre></pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">
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</pre><pre style="margin-top:0px;margin-bottom:0px">
<br></pre><pre style="margin-top:0px;margin-bottom:0px">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.</pre><pre style="margin-top:0px;margin-bottom:0px">
<br></pre><pre style="margin-top:0px;margin-bottom:0px"><a href="https://github.com/axetota/avwlv2/tree/devel">https://github.com/axetota/avwlv2/tree/devel</a><br></pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre></div></div>