@@ -46,7 +46,7 @@ def _PyPI(package):
46
46
return 'see <https://PyPI.org/project/%s>' % (package ,)
47
47
48
48
__all__ = ('AppVLC' ,) # PYCHOK expected
49
- __version__ = '22.12.12 '
49
+ __version__ = '22.12.14 '
50
50
51
51
try :
52
52
import vlc
@@ -165,21 +165,20 @@ class AppVLC(App):
165
165
'''
166
166
adjustr = ''
167
167
marquee = None
168
+ media = None
168
169
logostr = ''
169
170
player = None
170
171
raiser = False
171
172
rate = 0.0 # rate vs normal
172
- rate1X = 1.0 # rate 1X, fixed
173
173
scale = 0.0 # video size / window size
174
- scale_1X = 0.0 # video scale 1X
175
174
sized = None # video (width, height)
176
175
Snapshot = Item ('Snapshot' , key = 's' , alt = True )
177
176
snapshot = _PNG # default: .png, .jpg or .tiff
178
177
snapshots = 0
179
178
Toggle = None
180
179
video = None
181
180
window = None
182
- zoomX = 1.0 # zoom factor
181
+ zoomX = 1.0 # zoom factor, >= 1.0
183
182
184
183
def __init__ (self , video = None , # video file name
185
184
adjustr = '' , # vlc.VideoAdjustOption
@@ -192,7 +191,7 @@ def __init__(self, video=None, # video file name
192
191
self .adjustr = adjustr
193
192
self .logostr = logostr
194
193
self .marquee = marquee
195
- self .media = None
194
+ # self.media = None
196
195
self .raiser = raiser
197
196
self .Toggle = Item ('Play' , self .menuToggle_ , key = 'p' , ctrl = True )
198
197
self .video = video
@@ -509,12 +508,12 @@ def _hue(self, unused, fraction=0): # change hue
509
508
def _rate (self , unused , factor = 0 ): # change the video rate
510
509
p = self .player
511
510
r = p .get_rate () * factor
512
- r = max (0.2 , min (10.0 , r )) if r > 0 else self . rate1X
511
+ r = max (0.2 , min (10.0 , r )) if r > 0 else 1.0
513
512
p .set_rate (r )
514
513
self .rate = r
515
514
516
515
def _reset (self , resize = False ):
517
- self .scale_1X = 0.0 # 1X zoom
516
+ self .zoomX = 1
518
517
self .sized = None
519
518
if resize :
520
519
Thread (target = self ._sizer ).start ()
@@ -538,8 +537,8 @@ def _sizer(self, secs=0.25): # asynchronously
538
537
w = self .window
539
538
# set window's contents' aspect ratio
540
539
w .ratio = self .sized = a , b
541
- # get video scale for 1X zoom
542
- self .scale_1X = float (w .frame .width ) / a
540
+ # get video scale factor
541
+ self .scale = float (w .frame .width ) / a
543
542
self ._wiggle ()
544
543
break
545
544
elif secs > 0.001 :
@@ -597,22 +596,20 @@ def _wiggle(self):
597
596
# wiggle the video to fill the window
598
597
p = self .player
599
598
s = p .video_get_scale ()
600
- p .video_set_scale (0.0 if s else self .scale_1X )
599
+ p .video_set_scale (0.0 if s else self .scale )
601
600
p .video_set_scale (s )
602
601
603
602
def _zoom (self , unused , factor = 0 ):
604
603
# zoom the video in/out, see tkvlc.py
605
- X = self .scale_1X
606
604
p = self .player
607
- c = p .video_get_scale ()
608
- s = (c or X ) * factor
609
- if s < X :
610
- s = 0.0 # 1X
611
- # wiggle the video to fill the window
612
- p .video_set_scale (0.0 if c else X )
605
+ x = self .zoomX * factor
606
+ if x > 1 :
607
+ s = x
608
+ else : # not below 1X
609
+ s , x = 0.0 , 1.0
613
610
p .video_set_scale (s )
614
- self .scale = s
615
- self .zoomX = ( s / ( X or 1.0 )) or 1.0
611
+ self .scale = s
612
+ self .zoomX = x
616
613
617
614
618
615
if __name__ == '__main__' : # MCCABE 24
0 commit comments