You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just wanting to try out AntTweakBar took the code from metacpan and tried to run it;
It runs but silently exits. debug traced output below, maybe the sample code was not meant to run out of the box; I tried defining width and height but I don't think that matters.
SDL seems to work on my system to a point. I do have issues with interactive events in SDL apps. This may be related as SDL::Events is being used in this code. All the SDL samples load and work; but keyboard and mouse events aren't working it seems. ho-hum. something to figure out.
D:\working\perl\AntTweakBar>perl -d test.pl
Loading DB routines from perl5db.pl version 1.39_10
main::(test.pl:6): my $width=200;
DB<1> t Trace = on
DB<1> c
main::(test.pl:7): my $height=400;
main::(test.pl:8): AntTweakBar::init(TW_OPENGL);
main::(test.pl:9): AntTweakBar::window_size($width, $height);
main::(test.pl:27): my $bar = AntTweakBar->new(
main::(test.pl:28): "TweakBar & Perl",
main::(test.pl:29): size => '200 400',
main::(test.pl:30): color => '96 216 224'
main::(test.pl:31): );
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:178):
178: my ($class, $name, %bar_params) = @;
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:179):
179: croak "AntTweakBar name should be specified"
180: unless defined $name;
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:181):
181: my $self = {
182: name => $name,
183: bar_ptr => create( $name ),
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:185):
185: bless $self => $class;
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:186):
186: $self->set_bar_params(%bar_params);
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:446):
446: my ($self, %params) = @;
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:447):
447: while (my ($k, $v) = each(%params)) {
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:448):
448: set_bar_parameter($self->{bar_ptr}, $k, $v);
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:448):
448: set_bar_parameter($self->{bar_ptr}, $k, $v);
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:187):
187: return $self;
main::(test.pl:32): my $enabled = 0;
main::(test.pl:33): $bar->add_variable(
main::(test.pl:34): mode => 'rw',
main::(test.pl:35): name => "Enabled",
main::(test.pl:36): type => 'bool',
main::(test.pl:37): value => $enabled
main::(test.pl:38): );
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:378):
378: my ($self, %args) = @;
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:380):
380: for (qw/mode name type/) {
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:381):
381: croak "'$' is mandatory argument for add_variable"
382: unless exists $args{$};
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:381):
381: croak "'$' is mandatory argument for add_variable"
382: unless exists $args{$};
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:381):
381: croak "'$' is mandatory argument for add_variable"
382: unless exists $args{$};
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:385):
385: my $mode = $args{mode };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:386):
386: my $name = $args{name };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:387):
387: my $type = $args{type };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:388):
388: my $value = $args{value };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:389):
389: my $cb_read = $args{cb_read };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:390):
390: my $cb_write = $args{cb_write };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:391):
391: my $definition = $args{definition} // "";
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:393):
393: croak "Either value or callbacks should be specified"
394: if ($value && ($cb_read || $cb_write));
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:395):
395: croak "cb_read is mandatory when value isn't specied"
396: if (!$value && !$cb_read);
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:397):
397: croak "value should be a reference"
398: if ($value && !ref($value));
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:399):
399: $type = $type->name if(ref($type) eq 'AntTweakBar::Type');
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:400):
400: $definition = _as_definition_string($definition)
401: if ($definition && ref($definition) eq 'HASH');
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:403):
403: _add_variable($self->{_bar_ptr}, $mode, $name, $type, $value,
404: $cb_read, $cb_write, $definition);
AntTweakBar::DESTROY(C:/strawberry/perl/site/lib/AntTweakBar.pm:191):
191: my $self = shift;
AntTweakBar::DESTROY(C:/strawberry/perl/site/lib/AntTweakBar.pm:192):
192: _destroy($self->{bar_ptr});
File::Temp::CODE(0x2ee3428)(C:/strawberry/perl/lib/File/Temp.pm:737):
737: local($., $@, $!, $^E, $?);
File::Temp::CODE(0x2ee3428)(C:/strawberry/perl/lib/File/Temp.pm:738):
738: cleanup(at_exit => 1);
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:744):
744: my %h = @;
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:745):
745: my $at_exit = delete $h{at_exit};
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:746):
746: $at_exit = 0 if not defined $at_exit;
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:747):
747: { my @k = sort keys %h; die "unrecognized parameters: @k" if @k }
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:747):
747: { my @k = sort keys %h; die "unrecognized parameters: @k" if @k }
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:747):
747: { my @k = sort keys %h; die "unrecognized parameters: @k" if @k }
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:749):
749: if (!$KEEP_ALL) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:752):
752: @{ $files_to_unlink{$$} } : () );
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:753):
753: foreach my $file (@files) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:767):
767: @{ $dirs_to_unlink{$$} } : () );
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:768):
768: my ($cwd, $cwd_to_remove);
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:769):
769: foreach my $dir (@Dirs) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:789):
789: if (defined $cwd_to_remove) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:800):
800: @{ $files_to_unlink{$$} } = ()
801: if exists $files_to_unlink{$$};
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:802):
802: @{ $dirs_to_unlink{$$} } = ()
803: if exists $dirs_to_unlink{$$};
use AntTweakBar qw/:all/;
use SDL::Events;
Setup part: link AntTweakBar with your OpenGL/SDL system
my $width=200;
my $height=400;
AntTweakBar::init(TW_OPENGL);
AntTweakBar::window_size($width, $height);
in your main rendering routine
sub display {
AntTweakBar::draw;
}
sub process_events {
SDL::Events::pump_events;
my $event = $self->sdl_event;
while (SDL::Events::poll_event($event)) {
...;
AntTweakBar::eventSDL($event);
}
}
define bars with variables
my $bar = AntTweakBar->new(
"TweakBar & Perl",
size => '200 400',
color => '96 216 224'
);
my $enabled = 0;
$bar->add_variable(
mode => 'rw',
name => "Enabled",
type => 'bool',
value => $enabled
);
The text was updated successfully, but these errors were encountered:
davehorner
changed the title
silent exit on win8.1 x64
silent exit on win8.1 strawberry 5.18.2 multi-thread-x64
Aug 9, 2014
Actually my synopsis is the application "skeleton", and it assumes "outer" SDL/OpenGL main loop with all corresponding initialization, draw function etc. Documentation should be improved.
I wonder if there is an easy way to get to the eg installed with strawberry perl module i smoked...theres gotta be some tool out there to help a developer lookup the module/dist to local directory... maybe File::Share. idk.
anyways, nice work...maybe I'll get a chance to play with it again soon.
Thanks
--dave
Just wanting to try out AntTweakBar took the code from metacpan and tried to run it;
It runs but silently exits. debug traced output below, maybe the sample code was not meant to run out of the box; I tried defining width and height but I don't think that matters.
SDL seems to work on my system to a point. I do have issues with interactive events in SDL apps. This may be related as SDL::Events is being used in this code. All the SDL samples load and work; but keyboard and mouse events aren't working it seems. ho-hum. something to figure out.
Anyways, thought I'd mention my troubles and see if you have any suggestions.
Cheers.
--dave
http://dave.thehorners.com/tech-talk/programming/73-opengl-notes <-- added a link to your modules here.
D:\working\perl\AntTweakBar>perl -d test.pl$files_to_unlink{$ $} } : () );$dirs_to_unlink{$ $} } : () );$files_to_unlink{$ $} } = ()$files_to_unlink{$ $};$dirs_to_unlink{$ $} } = ()
Loading DB routines from perl5db.pl version 1.39_10
main::(test.pl:6): my $width=200;
DB<1> t Trace = on
DB<1> c
main::(test.pl:7): my $height=400;
main::(test.pl:8): AntTweakBar::init(TW_OPENGL);
main::(test.pl:9): AntTweakBar::window_size($width, $height);
main::(test.pl:27): my $bar = AntTweakBar->new(
main::(test.pl:28): "TweakBar & Perl",
main::(test.pl:29): size => '200 400',
main::(test.pl:30): color => '96 216 224'
main::(test.pl:31): );
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:178):
178: my ($class, $name, %bar_params) = @;
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:179):
179: croak "AntTweakBar name should be specified"
180: unless defined $name;
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:181):
181: my $self = {
182: name => $name,
183: bar_ptr => create( $name ),
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:185):
185: bless $self => $class;
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:186):
186: $self->set_bar_params(%bar_params);
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:446):
446: my ($self, %params) = @;
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:447):
447: while (my ($k, $v) = each(%params)) {
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:448):
448: set_bar_parameter($self->{bar_ptr}, $k, $v);
AntTweakBar::set_bar_params(C:/strawberry/perl/site/lib/AntTweakBar.pm:448):
448: set_bar_parameter($self->{bar_ptr}, $k, $v);
AntTweakBar::new(C:/strawberry/perl/site/lib/AntTweakBar.pm:187):
187: return $self;
main::(test.pl:32): my $enabled = 0;
main::(test.pl:33): $bar->add_variable(
main::(test.pl:34): mode => 'rw',
main::(test.pl:35): name => "Enabled",
main::(test.pl:36): type => 'bool',
main::(test.pl:37): value => $enabled
main::(test.pl:38): );
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:378):
378: my ($self, %args) = @;
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:380):
380: for (qw/mode name type/) {
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:381):
381: croak "'$' is mandatory argument for add_variable"
382: unless exists $args{$};
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:381):
381: croak "'$' is mandatory argument for add_variable"
382: unless exists $args{$};
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:381):
381: croak "'$' is mandatory argument for add_variable"
382: unless exists $args{$};
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:385):
385: my $mode = $args{mode };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:386):
386: my $name = $args{name };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:387):
387: my $type = $args{type };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:388):
388: my $value = $args{value };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:389):
389: my $cb_read = $args{cb_read };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:390):
390: my $cb_write = $args{cb_write };
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:391):
391: my $definition = $args{definition} // "";
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:393):
393: croak "Either value or callbacks should be specified"
394: if ($value && ($cb_read || $cb_write));
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:395):
395: croak "cb_read is mandatory when value isn't specied"
396: if (!$value && !$cb_read);
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:397):
397: croak "value should be a reference"
398: if ($value && !ref($value));
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:399):
399: $type = $type->name if(ref($type) eq 'AntTweakBar::Type');
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:400):
400: $definition = _as_definition_string($definition)
401: if ($definition && ref($definition) eq 'HASH');
AntTweakBar::add_variable(C:/strawberry/perl/site/lib/AntTweakBar.pm:403):
403: _add_variable($self->{_bar_ptr}, $mode, $name, $type, $value,
404: $cb_read, $cb_write, $definition);
AntTweakBar::DESTROY(C:/strawberry/perl/site/lib/AntTweakBar.pm:191):
191: my $self = shift;
AntTweakBar::DESTROY(C:/strawberry/perl/site/lib/AntTweakBar.pm:192):
192: _destroy($self->{bar_ptr});
File::Temp::CODE(0x2ee3428)(C:/strawberry/perl/lib/File/Temp.pm:737):
737: local($., $@, $!, $^E, $?);
File::Temp::CODE(0x2ee3428)(C:/strawberry/perl/lib/File/Temp.pm:738):
738: cleanup(at_exit => 1);
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:744):
744: my %h = @;
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:745):
745: my $at_exit = delete $h{at_exit};
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:746):
746: $at_exit = 0 if not defined $at_exit;
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:747):
747: { my @k = sort keys %h; die "unrecognized parameters: @k" if @k }
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:747):
747: { my @k = sort keys %h; die "unrecognized parameters: @k" if @k }
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:747):
747: { my @k = sort keys %h; die "unrecognized parameters: @k" if @k }
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:749):
749: if (!$KEEP_ALL) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:752):
752: @{
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:753):
753: foreach my $file (@files) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:767):
767: @{
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:768):
768: my ($cwd, $cwd_to_remove);
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:769):
769: foreach my $dir (@Dirs) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:789):
789: if (defined $cwd_to_remove) {
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:800):
800: @{
801: if exists
File::Temp::cleanup(C:/strawberry/perl/lib/File/Temp.pm:802):
802: @{
803: if exists$dirs_to_unlink{$ $};
use AntTweakBar qw/:all/;
use SDL::Events;
Setup part: link AntTweakBar with your OpenGL/SDL system
my $width=200;
my $height=400;
AntTweakBar::init(TW_OPENGL);
AntTweakBar::window_size($width, $height);
in your main rendering routine
sub display {
AntTweakBar::draw;
}
sub process_events {
SDL::Events::pump_events;
my $event = $self->sdl_event;
while (SDL::Events::poll_event($event)) {
...;
AntTweakBar::eventSDL($event);
}
}
define bars with variables
my $bar = AntTweakBar->new(
"TweakBar & Perl",
size => '200 400',
color => '96 216 224'
);
my $enabled = 0;
$bar->add_variable(
mode => 'rw',
name => "Enabled",
type => 'bool',
value => $enabled
);
The text was updated successfully, but these errors were encountered: