This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch gzng in repository mteleplayer. commit 1b56518ecbf265131f79642bedb3bd94c2accee4 Author: gznget <opensource@gznianguan.com> Date: Thu Jul 3 02:00:53 2014 +0200 Better GFX loading and handeling... --- serverside/bin/mteleplayer | 97 ++++++++++++-------- .../server/applications/mteleplayer/hourglass.png | Bin 0 -> 5994 bytes 2 files changed, 60 insertions(+), 37 deletions(-) diff --git a/serverside/bin/mteleplayer b/serverside/bin/mteleplayer index 293ad8e..fb455f7 100755 --- a/serverside/bin/mteleplayer +++ b/serverside/bin/mteleplayer @@ -201,11 +201,12 @@ sub initMainWindow { $GTKS{'CTRLS'}{'TOPMENU'}->add($GTKS{'MainAppWindow_topMenu'}->{widget}); $GTKS{'MainVBox'}->pack_start($GTKS{'CTRLS'}{'TOPMENU'}, FALSE, FALSE, 0); # my $pBuf = ; - $GTKS{'mTPsplashIMG'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file ("$theSHAREDIR/splash320.png")); - $GTKS{'mTPsplashIMG'}->set_size_request(320,240); - $GTKS{'mTPeyesoreIMG'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file ("$theSHAREDIR/eyesore_t.png")); - $GTKS{'mTPeyesoreIMG'}->set_size_request(254,160); + loadToPixBUF("mTPSplash","$theSHAREDIR/splash320.png"); + loadToPixBUF("hourGlass","$theSHAREDIR/hourglass.png"); + loadToPixBUF("musicalNote","$theSHAREDIR/musical_note.png"); + loadToPixBUF("eyesore","$theSHAREDIR/eyesore_t.png"); + $GTKS{'MainMediaEBOXGFX'} = Gtk2::Image->new_from_pixbuf($GTKS{'PixBUF'}{'mTPSplash'}); #################################################################### # Player status texts etc.. $GTKS{'INFO'}{'PLYRSTAT'}{'EBOX'} = Gtk2::EventBox->new; @@ -220,7 +221,7 @@ sub initMainWindow { $mTPMainMediaEBOX->modify_bg('normal',Gtk2::Gdk::Color->new(0x0000, 0x0000, 0x0000)); # $mTPMainMediaEBOX->add($GTKS{'mTPsplashIMG'}); - $mTPMainMediaEBOX->add($GTKS{'mTPeyesoreIMG'}); + $mTPMainMediaEBOX->add($GTKS{'MainMediaEBOXGFX'}); Gtk2::Rc->parse_string("gtk-primary-button-warps-slider = 1"); @@ -237,15 +238,17 @@ sub initMainWindow { $GTKS{'CTRLS'}{'MAIN'} = Gtk2::EventBox->new; $GTKS{'CTRLS'}{'MainVBox'} = Gtk2::VBox->new(FALSE, 0); $GTKS{'CTRLS'}{'MAIN'}->add($GTKS{'CTRLS'}{'MainVBox'}); + loadToPixBUF("ctrlsPlayBTN","$theSHAREDIR/gfx/default/play_btn_32.png"); + loadToPixBUF("ctrlsPauseBTN","$theSHAREDIR/gfx/default/pause_btn_32.png"); + loadToPixBUF("ctrlsPrevTrBTN","$theSHAREDIR/gfx/default/prevtr_btn_32.png"); + loadToPixBUF("ctrlsNextTrBTN","$theSHAREDIR/gfx/default/nexttr_btn_32.png"); $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'} = Gtk2::EventBox->new; $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->set_size_request(32,32); - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PlayGFX'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file ("$theSHAREDIR/gfx/default/play_btn_32.png")); - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PlayGFX'}->set_size_request(32,32); - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PauseGFX'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file ("$theSHAREDIR/gfx/default/pause_btn_32.png")); - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PauseGFX'}->set_size_request(32,32); + $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'GFX'} = Gtk2::Image->new_from_pixbuf($GTKS{'PixBUF'}{'ctrlsPlayBTN'}); + $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->signal_connect('button-release-event' => \&eventBtnClickPlayPause); - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->add($GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PlayGFX'}); + $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->add($GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'GFX'}); stateChangePAUSED(0);# Use this to initiate the play/pause button gfx... $GTKS{'CTRLS'}{'BtnPreviousEBOX'} = Gtk2::EventBox->new;$GTKS{'CTRLS'}{'BtnPreviousEBOX'}->set_size_request(32,32); @@ -521,9 +524,10 @@ sub handleTheLocalSocket { } if ($1 =~ /^CACHING\|([\d\.\%]*)\|.*/) { - $GTKS{'INFO'}{'PLYRSTAT'}{'LABEL'}->set_text("Caching Media: $1"); + $GTKS{'INFO'}{'PLYRSTAT'}{'LABEL'}->set_text("Caching Media: $1%"); if ($PlayerStatus{'caching'} ne 1) { $PlayerStatus{'caching'} = 1; + $GTKS{'MainMediaEBOXGFX'}->set_from_pixbuf($GTKS{'PixBUF'}{'hourGlass'}); $GTKS{'INFO'}{'PLYRSTAT'}{'EBOX'}->show_all; } @@ -539,6 +543,7 @@ sub handleTheLocalSocket { if ($PlayerStatus{'caching'} eq 1) { $PlayerStatus{'caching'} = 0; $GTKS{'INFO'}{'PLYRSTAT'}{'EBOX'}->hide_all; + $GTKS{'MainMediaEBOXGFX'}->set_from_pixbuf($GTKS{'PixBUF'}{'eyesore'}); } doUpdateTimeLine($1,$2); $PlayerStatus{'currentMediaSeek'} = $1; @@ -706,6 +711,7 @@ sub actOnEnqueuedMEDIA { $GTKS{'MainAppWindow'}->deiconify; } } + $GTKS{'MainMediaEBOXGFX'}->set_from_pixbuf($GTKS{'PixBUF'}{'eyesore'}); } } @@ -801,30 +807,30 @@ sub doLocalQuickie { # various GUI event stuff.... sub setVolumeICON { my $volume = sanitizer("anumazlc",$_[0]); - my $icon; + my $icon = 0; if ($_[1] =~ /initGFX/) { - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFXM'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file("$theSHAREDIR/gfx/default/audio_vol_m_32.png"));$GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFXM'}->set_size_request(32,32); - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX20'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file("$theSHAREDIR/gfx/default/audio_vol_20_32.png"));$GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX20'}->set_size_request(32,32); - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX40'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file("$theSHAREDIR/gfx/default/audio_vol_40_32.png"));$GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX40'}->set_size_request(32,32); - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX60'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file("$theSHAREDIR/gfx/default/audio_vol_60_32.png"));$GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX60'}->set_size_request(32,32); - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX80'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file("$theSHAREDIR/gfx/default/audio_vol_80_32.png"));$GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX80'}->set_size_request(32,32); - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX100'} = Gtk2::Image->new_from_pixbuf(Gtk2::Gdk::Pixbuf->new_from_file("$theSHAREDIR/gfx/default/audio_vol_100_32.png"));$GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX100'}->set_size_request(32,32); + loadToPixBUF("ctrlsVolumeIconM","$theSHAREDIR/gfx/default/audio_vol_m_32.png"); + loadToPixBUF("ctrlsVolumeIcon20","$theSHAREDIR/gfx/default/audio_vol_20_32.png"); + loadToPixBUF("ctrlsVolumeIcon40","$theSHAREDIR/gfx/default/audio_vol_40_32.png"); + loadToPixBUF("ctrlsVolumeIcon60","$theSHAREDIR/gfx/default/audio_vol_60_32.png"); + loadToPixBUF("ctrlsVolumeIcon80","$theSHAREDIR/gfx/default/audio_vol_80_32.png"); + loadToPixBUF("ctrlsVolumeIcon100","$theSHAREDIR/gfx/default/audio_vol_100_32.png"); + + $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX'} = Gtk2::Image->new_from_pixbuf($GTKS{'PixBUF'}{'ctrlsVolumeIconM'}); + $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX'}->set_size_request(32,32); + $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'EBOX'}->add($GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX'}); } - if (($volume eq 0) or ($volume eq "m")) {$icon = "GFXM";} - elsif ($volume <= 20) {$icon = "GFX20";} - elsif ($volume <= 40) {$icon = "GFX40";} - elsif ($volume <= 60) {$icon = "GFX60";} - elsif ($volume <= 80) {$icon = "GFX80";} - elsif ($volume eq 100) {$icon = "GFX100";} + if (($volume eq 0) or ($volume eq "m")) {$icon = "M";} + elsif ($volume <= 20) {$icon = "20";} + elsif ($volume <= 40) {$icon = "40";} + elsif ($volume <= 60) {$icon = "60";} + elsif ($volume <= 80) {$icon = "80";} + elsif ($volume eq 100) {$icon = "100";} else {appDBugLog("Something is wrong with the '$volume' value in setVolumeICON!");} - if ($icon =~ /GFX/) { - if ($GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'CURRENT'} =~ /GFX/) { - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'EBOX'}->remove($GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{$GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'CURRENT'}}); - } - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'CURRENT'} = $icon; - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'EBOX'}->add($GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{$icon}); - $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'EBOX'}->show_all; + if (($icon ne 0) and $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX'}) { + $GTKS{'CTRLS'}{'VolumeScaler'}{'IconBtn'}{'GFX'}->set_from_pixbuf($GTKS{'PixBUF'}{"ctrlsVolumeIcon$icon"}); } + } sub changeAudioVolume { @@ -872,14 +878,10 @@ sub eventBtnClickPlayPause { sub stateChangePAUSED { if ($_[0] eq 0) { $PlayerStatus{'paused'} = 0; - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->remove($GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PlayGFX'}); - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->add($GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PauseGFX'}); -$GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->show_all; + $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'GFX'}->set_from_pixbuf($GTKS{'PixBUF'}{'ctrlsPauseBTN'}); } elsif ($_[0] eq 1) { $PlayerStatus{'paused'} = 1; - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->remove($GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PauseGFX'}); - $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->add($GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'PlayGFX'}); -$GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}->show_all; + $GTKS{'CTRLS'}{'BtnPlayPauseEBOX'}{'GFX'}->set_from_pixbuf($GTKS{'PixBUF'}{'ctrlsPlayBTN'}); } } @@ -948,6 +950,27 @@ sub getKeyModifiers { return %mask; } + +################################################################################################################################# +# Load PixBUF +sub loadToPixBUF { + my $pixName = sanitizer("anumazcsdaus",$_[0]); + my $pixPath = sanitizeFilePath($_[1]); + if ((-f $pixPath) and ($pixName)) { + $GTKS{'PixBUF'}{$pixName} = Gtk2::Gdk::Pixbuf->new_from_file ($pixPath) or appDBugLog("Unable to load $pixPath to PixBUF... Is it even a GFX file?"); + if ($GTKS{'PixBUF'}{$pixName}) { + appDBugLog("Loaded $pixPath to PixBUF..."); + return 1; + } else { + appDBugLog("Unable to load $pixPath to PixBUF..."); + return 0; + } + } else { + appDBugLog("Unable to load $pixPath to PixBUF..."); + return 0; + } +} + ################################################################################################################################# # Just a sub to tuck away the menu tree somewhere in a tidy fassion.... sub theMenuTreeSUB { diff --git a/serverside/share/telekinesis/server/applications/mteleplayer/hourglass.png b/serverside/share/telekinesis/server/applications/mteleplayer/hourglass.png new file mode 100644 index 0000000..90c84bf Binary files /dev/null and b/serverside/share/telekinesis/server/applications/mteleplayer/hourglass.png differ -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/mteleplayer.git