Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 37 additions & 20 deletions plugins/miscellanea/pirateaudio/display.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
position = '' # v.0.0.4
nav_array_name, nav_array_uri, nav_array_type, nav_array_service = [], [], [], []
marker, listmax, liststart, listresult = 0, int(obj['listmax']['value']), 0, 0

volatile_service = False

BUTTONS = [5, 6, 16, obj['gpio_ybutton']['value']]
# LABELS = ['A', 'B', 'X', 'Y']
Expand Down Expand Up @@ -261,6 +261,11 @@ def display_stuff(picture, text, marked, start, icons='nav'): # v.0.0.4 test fo
display_stuff('bg_default', obj_trans['DISPLAY']['WAIT'], 0, 0, 'info')
socketIO = SocketIO('localhost', 3000)

def display_prevnext():
if volatile_service:
display_stuff('bg_default', [obj_trans['DISPLAY']['PREVNEXT'], title], 1, 0, 'seek')
else:
display_stuff('bg_default', [str(position + 1) + '/' + str(len_queue), obj_trans['DISPLAY']['PREVNEXT'], title_queue[position]], 1, 0, 'seek')

def seeking(direction):
# start_time = time.time() # debug, time of code execution
Expand All @@ -280,22 +285,25 @@ def seeking(direction):


def prevnext(direction):
# start_time = time.time() # debug, time of code execution
global position
if direction == 'prev':
position -= 1
if volatile_service is True:
socketIO.emit(direction)
else:
position += 1
if position > len_queue - 1: # set position to first entry to loop through playlist infinite
position = 0
elif position < 0: # set position to last entry to loop through playlist infinite
position = len_queue - 1
display_stuff('bg_default', [str(position + 1) + '/' + str(len_queue), obj_trans['DISPLAY']['PREVNEXT'], title_queue[position]], 1, 0, 'seek')
socketIO.emit('stop')
socketIO.emit('play', {"value": position})
# print("prevnext--- %s seconds ---" % (time.time() - start_time)) # debug, time of code execution


# start_time = time.time() # debug, time of code execution
global position
if direction == 'prev':
position -= 1
else:
position += 1
if position > len_queue - 1: # set position to first entry to loop through playlist infinite
position = 0
elif position < 0: # set position to last entry to loop through playlist infinite
position = len_queue - 1
display_prevnext()
socketIO.emit('stop')
socketIO.emit('play', {"value": position})
# print("prevnext--- %s seconds ---" % (time.time() - start_time)) # debug, time of code execution


def on_push_queue(*args):
global title_queue, len_queue
# reset variables first
Expand All @@ -310,7 +318,7 @@ def on_push_queue(*args):

def on_push_state(*args):
# start_time = time.time() # debug, time of code execution
global img, img2, dark, txt_col, str_col, bar_bgcol, bar_col, status, service, volume, albumart, img_check, mode, seek, duration, position
global img, img2, dark, txt_col, str_col, bar_bgcol, bar_col, status, service, volume, title, albumart, img_check, mode, seek, duration, position, volatile_service

def f_textsize(text, fontsize):
w1, y1 = draw.textsize(text, fontsize)
Expand All @@ -336,7 +344,15 @@ def f_content(field, fontsize, top, shadowoffset=1):
# return args[0][field]

volume = int(args[0]['volume'])
position = args[0]['position'] # v.0.0.4
if 'position' in args[0]:
position = args[0]['position'] # v.0.0.4
if 'volatile' in args[0]:
volatile_service = args[0]['volatile']
else:
volatile_service = False

title = args[0]['title']

if mode == 'player':
#status = args[0]['status'].encode('ascii', 'ignore')
status = args[0]['status'] # v0.0.6
Expand Down Expand Up @@ -435,7 +451,8 @@ def f_content(field, fontsize, top, shadowoffset=1):
img_check = img
sendtodisplay(img)
# print("on_push_state--- %s seconds ---" % (time.time() - start_time)) # debug, time of code execution

if (mode == 'prevnext' and volatile_service is True):
display_prevnext()

img = Image.new('RGBA', (240, 240), color=(0, 0, 0, 25))
draw = ImageDraw.Draw(img, 'RGBA')
Expand Down Expand Up @@ -509,7 +526,7 @@ def handle_button(pin):
elif nav_array_type[marker] == 'prevnext': # v.0.0.4
socketIO.emit('getQueue', on_push_queue) # refresh variables of queue
mode = 'prevnext'
display_stuff('bg_default', [str(position + 1) + '/' + str(len_queue), obj_trans['DISPLAY']['PREVNEXT'], title_queue[position]], 1, 0, 'seek')
display_prevnext()
else: # browsesource
reset_variable('navigation')
socketIO.emit('getBrowseSources', '', on_push_browsesources)
Expand Down