On Tue, February 12, 2013 9:00 pm, SxDx wrote:
On 02/12/2013 09:56 AM, Patrick Shirkey wrote:
>
> On Tue, February 12, 2013 3:50 am, Paul Davis wrote:
>> On Mon, Feb 11, 2013 at 11:44 AM, Patrick Shirkey <
>> pshirkey(a)boosthardware.com> wrote:
>>
>>>
>>> Thanks for the tip. Will save me some braincells.
>>>
>>> Found it here:
>>>
>>>
>>>
http://guitarix.sourcearchive.com/documentation/0.10.0-2/GtkFastMeter_8cpp-…
>>>
>>>
http://guitarix.sourcearchive.com/documentation/0.10.0-2/GtkFastMeter_8h-so…
>>>
>>
>> the code in ardour3 doesn't use pixbufs and is entirely drawn
>> directly
>> with
>> cairo. you may or may not care.
>>
>
> It's a multistep process to get it all integrated. I couldn't find
> anything specific online for making a custom widget with gtk3 so I
> have
> copied the structure and methods from the gtkscale/gtkrange widgets.
>
>
http://git.gnome.org/browse/gtk+/tree/gtk/gtkscale.c?h=gtk-3-6
>
http://git.gnome.org/browse/gtk+/tree/gtk/gtkrange.c?h=gtk-3-6
>
> I got it to the point where it the class is building and init() is
> being
> called but I am having a problem with assigning the correct TYPE for
> GTK_METER and getting the draw/realize methods to fire.
>
>
http://boosthardware.com/code/jamin/
Can you provide a small main.c or something?
All I see in there are static init functions never called.
Yeah it's just the class, no wrapping.
It can be called like this:
GtkWidget *gtkmeter;
GtkAdjustment *adjustment = (GtkAdjustment*) gtk_adjustment_new(0.0,
-40,
6, 0.0, 0.0, 0.0);
meter = gtk_meter_net(adjustment, GTK_METER_UP, 0. -40, 6);
Turns out there were a couple of small items that needed to be changed.
I
had to disable the additional params in the call to g_object_new() in
gtk_meter_init() and fix the Type Declaration.
I have updated the files.
At the moment I have a meter that doesn't update which shouldn't take
long
to fix. However what I am aiming for is to integrate the different cairo
meters into one class.
fastmeter - ardour
vumeter - scenic
GtkMeter - jackeq