Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python2.7
- # pygame installieren:
- # sudo apt-get install python-pygame
- # sys fuer das kontrollierte beenden
- import sys
- import os
- # Glob -> zum einlesen von Ordnerinhalten
- import glob
- # Pygame importieren und Initialisieren
- import pygame
- from pygame import mixer
- from mutagen import File
- from mutagen.mp3 import MP3
- # PIL - Bibliothek
- from PIL import Image # vorher mit sudo apt-get install python-imaging => installieren
- from io import BytesIO
- pygame.init()
- #... wird feur Sleeptimer gebraucht
- clock = pygame.time.Clock()
- global frame_count
- frame_count = 0
- frame_rate = 60
- start_time = 10 #!!! Variable feuer den Sleeptimer in Sekunden
- zeit_var = 0 # hier wird die Sleeptime in Min gespeichert umrechnung folgt ganz unten
- zeit_schritt = 1 # hier werden die Zaehlschritte des Sleeptimers in min gespeichert
- zeit_max = 60 # maximal 60 min einstellbar
- # Schleifendurchlauf
- schleife = True
- option = 0
- # zur Augabe von Printanweisungen
- fehlersuche = 1
- # Touchbilder Normal=1 oder Zusatzfunktionen=2
- ansicht = 1
- # 0==Pi-, 1==Laptop-Modus, 2==Voyeger-USB-Stick -------------------------------------------------------------------------
- Laptop = 1
- #------------------------------------------------------------------------------------------------------------------------
- global gesamter_inhalt # wird in -def lese_ein(pfad):- befuellt
- global mp3_ordner_liste
- global angewaehlter_index # wird gebraucht um bilder zu finden z.B. in -def mp3option():-
- global is_ne_mp3
- global mp3_abspiel
- global play_oder_pause
- global unterordner #wird in bildaufbau definiert und in on_touch benoetigt
- angewaehlter_index = 0
- mp3_abspiel = 0
- is_ne_mp3 = 0
- play_oder_pause = 1
- unterordner = 0
- mp3anlauf = 0 # wird gebraucht damit die mp3 bein play-pauseanwahl ordnungsgemaes pausiert, zurueckgesetzt wird sie in -on_touch-
- krach = 0.5 # bestimmt die lautstaerke, wert zwischen 0.0 und 1.0 , wird in def lauter() / def leiser() geaendert
- bildformate = [".jpg", ".png", ".bmp"]
- beenden_menue = 1 # wird gebraucht um ein beendenmenue auszuwaehlen
- #beende_menue == 2 Pi -> faehrt nach ausgewaehlter zeit runter
- #beende_menue == 3 Pi -> faehrt nach ende der Mp3 runter
- ordner_durchspielen = 0
- # Bildgroesse definieren
- bildschirmgroesse = 800, 480
- bilder_links = 120, 120
- bilder_rechts = 120, 120
- pfeil_groesse = 120,120
- auswahlbildgroesse = 400, 400
- shutdownicon = 60, 60
- sanduhr_groesse = 150, 300
- abstand1 = 20
- extra_groesse = 70, 70
- abspiel_menue_groesse = 500, 130
- denkpunkt_groesse = 120, 120
- haeckchen_groesse = abspiel_menue_groesse[1], abspiel_menue_groesse[1]
- zahlenbutton_groesse = 300, 300
- zahlengroesse = 22 , 30
- zahlengroesse_2 = 88 , 120
- indexnr0_mitte_groesse= 120, 180
- mitte = (bildschirmgroesse[0]/2), (bildschirmgroesse[1]/2)
- # Positionen-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- # position (Linke Seite/Begrenzung, Obere Seite/Begrenzung)
- # _rec [Linke Seite, Obere Seite, Breite (rechte Seite), Hoehe (untere Seite)]
- ## mittiges grosses Auswahlbild
- auswahlbildposition = (mitte[0] - (auswahlbildgroesse[0] / 2 )), (mitte[1] - (auswahlbildgroesse[1] / 2 ))
- auswahlbild_rec = [auswahlbildposition[0], auswahlbildposition[1], auswahlbildgroesse[0], auswahlbildgroesse[1]]
- ## Button Hoch
- pfeil_hochposition = ((((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) + (mitte[0] + (auswahlbildgroesse[0] / 2 ))) - (pfeil_groesse[0] / 2), (mitte[1] - (auswahlbildgroesse[1] / 2 )))
- pfeil_hoch_rec = [pfeil_hochposition[0], pfeil_hochposition[1], pfeil_groesse[0], pfeil_groesse[1]]
- ## Button Runter
- pfeil_runterposition = ((((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) + (mitte[0] + (auswahlbildgroesse[0] / 2 ))) - (pfeil_groesse[0] / 2), ((mitte[1] + (auswahlbildgroesse[1] / 2 ) - pfeil_groesse[1])))
- pfeil_runter_rec = [pfeil_runterposition[0], pfeil_runterposition[1], pfeil_groesse[0], pfeil_groesse[1]]
- ## MP3 abspielen
- play_pause_position = ((((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) + (mitte[0] + (auswahlbildgroesse[0] / 2 ))) - (bilder_rechts[0] / 2), (0 * (bildschirmgroesse[1] / 4)))
- play_pause_rec = [play_pause_position[0], play_pause_position[1], bilder_rechts[0], bilder_rechts[1]]
- stop_position = ((((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) + (mitte[0] + (auswahlbildgroesse[0] / 2 ))) - (bilder_rechts[0] / 2), (1 * (bildschirmgroesse[1] / 4)))
- stop_rec = [stop_position[0], stop_position[1], bilder_rechts[0], bilder_rechts[1]]
- lauter_positon = ((((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) + (mitte[0] + (auswahlbildgroesse[0] / 2 ))) - (bilder_rechts[0] / 2), (2 * (bildschirmgroesse[1] / 4)))
- lauter_rec = [lauter_positon[0], lauter_positon[1], bilder_rechts[0], bilder_rechts[1]]
- leiser_position = ((((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) + (mitte[0] + (auswahlbildgroesse[0] / 2 ))) - (bilder_rechts[0] / 2), (3 * (bildschirmgroesse[1] / 4)))
- leiser_rec = [leiser_position[0], leiser_position[1], bilder_rechts[0], bilder_rechts[1]]
- #uebergeordneten Ordner anwaehlen
- u_ordner1_position = (((mitte[0] - (auswahlbildgroesse[0] / 2 )) - ((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) - (bilder_links[0] / 2)), ((1 * (bildschirmgroesse[1] / 4)) -abstand1 ))
- u_ordner1_rec = [u_ordner1_position[0], u_ordner1_position[1], bilder_links[0], bilder_links[1]]
- # Extraeinstellungen
- extra_position = (((mitte[0] - (auswahlbildgroesse[0] / 2 )) - ((bildschirmgroesse[0] - auswahlbildgroesse[0]) / 4) - (extra_groesse[0] / 2)), (mitte[1] + (auswahlbildgroesse[1] / 2 ) - extra_groesse[1]))
- extra_rec = [extra_position[0], extra_position[1], extra_groesse[0], extra_groesse[1]]
- # Pi = Shutdown / alles andere Script ende
- beenden_position = (bildschirmgroesse[0] - (shutdownicon[0] * 2), (mitte[1] + (auswahlbildgroesse[1] / 2 ) - shutdownicon[1]))
- beenden_rec = [beenden_position[0], beenden_position[1], shutdownicon[0], shutdownicon[1]]
- #beeden nach zeitablauf
- abspiel_meneu1_position = (mitte[0] - abspiel_menue_groesse[0] / 2, ((bildschirmgroesse[1]/2)-(abspiel_menue_groesse[1]/2))/2-(abspiel_menue_groesse[1]/2))
- abspiel_meneu1_rec = [abspiel_meneu1_position[0], abspiel_meneu1_position[1], abspiel_menue_groesse[0] , abspiel_menue_groesse[1]]
- haeckchen_position1 = (abspiel_meneu1_position[0] + (abspiel_menue_groesse[0]/2) - (haeckchen_groesse[0]/2), abspiel_meneu1_position[1] + (abspiel_menue_groesse[1]/2) - (haeckchen_groesse[1]/2))
- #beenden nach Mp3 ende
- abspiel_meneu2_position = (mitte[0] - abspiel_menue_groesse[0] / 2, (bildschirmgroesse[1]/2)-(abspiel_menue_groesse[1]/2))
- abspiel_meneu2_rec = [abspiel_meneu2_position[0], abspiel_meneu2_position[1], abspiel_menue_groesse[0] , abspiel_menue_groesse[1]]
- haeckchen_position2 = (abspiel_meneu2_position[0] + (abspiel_menue_groesse[0]/2) - (haeckchen_groesse[0]/2), abspiel_meneu2_position[1] + (abspiel_menue_groesse[1]/2) - (haeckchen_groesse[1]/2))
- #ordner durchspielen
- abspiel_meneu3_position = (mitte[0] - abspiel_menue_groesse[0] / 2, ((bildschirmgroesse[1]/2)+(abspiel_menue_groesse[1]/2)/2)+(abspiel_menue_groesse[1]/2))
- abspiel_meneu3_rec = [abspiel_meneu3_position[0], abspiel_meneu3_position[1], abspiel_menue_groesse[0] , abspiel_menue_groesse[1]]
- haeckchen_position3 = (abspiel_meneu3_position[0] + (abspiel_menue_groesse[0]/2) - (haeckchen_groesse[0]/2), abspiel_meneu3_position[1] + (abspiel_menue_groesse[1]/2) - (haeckchen_groesse[1]/2))
- sanduhr_position = (extra_position[0], ((bildschirmgroesse[1] - (bildschirmgroesse[1] - extra_position[1])) /2) - sanduhr_groesse[1]/2)
- zahlenbutton_position = (((mitte[0]/2) + mitte[0]) - (zahlenbutton_groesse[0]/2), (sanduhr_position[1]+sanduhr_groesse[1]/2) - (zahlenbutton_groesse[1]/2))
- zahlenbutton_rec = [zahlenbutton_position[0], zahlenbutton_position [1], zahlenbutton_groesse[0], zahlenbutton_groesse[1]]
- zahlenbutton_zahl1_pos = (zahlenbutton_position[0]+(zahlenbutton_groesse[0]/2))-(abstand1/2)-zahlengroesse_2[0], (zahlenbutton_position[1]+(zahlenbutton_groesse[1]/2))-(zahlengroesse_2[1]/2)
- zahlenbutton_zahl2_pos = (zahlenbutton_position[0]+(zahlenbutton_groesse[0]/2))+(abstand1/2), zahlenbutton_zahl1_pos[1]
- zeit_hoch_pfeil_position = ((((zahlenbutton_position[0] + zahlenbutton_groesse[0]) - (sanduhr_groesse[0]+zahlenbutton_groesse[0]) - extra_position[0])/2)-(pfeil_groesse[0]/2)+(sanduhr_position[0]+sanduhr_groesse[0]), sanduhr_position[1])
- zeit_hoch_pfeil_rec = [zeit_hoch_pfeil_position[0], zeit_hoch_pfeil_position[1], pfeil_groesse[0], pfeil_groesse[1]]
- zeit_runter_pfeil_position = ((((zahlenbutton_position[0] + zahlenbutton_groesse[0]) - (sanduhr_groesse[0]+zahlenbutton_groesse[0]) - extra_position[0])/2)-(pfeil_groesse[0]/2)+(sanduhr_position[0]+sanduhr_groesse[0]), sanduhr_position[1] + sanduhr_groesse[1] - pfeil_groesse[1])
- zeit_runter_pfeil_rec = [zeit_runter_pfeil_position[0], zeit_runter_pfeil_position[1], pfeil_groesse[0], pfeil_groesse[1]]
- zeit_runter_pos0 = abstand1, bildschirmgroesse[1]/2
- zeit_runter_pos1 = zeit_runter_pos0[0]+zahlengroesse[0], zeit_runter_pos0[1]
- zeit_runter_pos2 = zeit_runter_pos1[0]+zahlengroesse[0], zeit_runter_pos0[1]
- zeit_runter_pos3 = zeit_runter_pos2[0]+zahlengroesse[0], zeit_runter_pos0[1]
- zeit_runter_pos4 = zeit_runter_pos3[0]+zahlengroesse[0], zeit_runter_pos0[1]
- zeit_hoch_pos0 = zeit_runter_pos0[0], zeit_runter_pos0[1]+zahlengroesse[1]+abstand1
- zeit_hoch_pos1 = zeit_runter_pos0[0]+zahlengroesse[0], zeit_hoch_pos0[1]
- zeit_hoch_pos2 = zeit_runter_pos1[0]+zahlengroesse[0], zeit_hoch_pos0[1]
- zeit_hoch_pos3 = zeit_runter_pos2[0]+zahlengroesse[0], zeit_hoch_pos0[1]
- zeit_hoch_pos4 = zeit_runter_pos3[0]+zahlengroesse[0], zeit_hoch_pos0[1]
- indexnr0_mitte_pos = (mitte[0] - (indexnr0_mitte_groesse[0] / 2 )), (mitte[1] - (indexnr0_mitte_groesse[1] / 2 ))
- indexnr1_0_mitte_pos = (mitte[0] - (indexnr0_mitte_groesse[0])), (mitte[1] - (indexnr0_mitte_groesse[1] / 2 ))
- indexnr1_1_mitte_pos = (mitte[0]), (mitte[1] - (indexnr0_mitte_groesse[1] / 2 ))
- indexnr2_0_mitte_pos = (mitte[0] - (indexnr0_mitte_groesse[0] / 2 ) - indexnr0_mitte_groesse[0]), (mitte[1] - (indexnr0_mitte_groesse[1] / 2 ))
- indexnr2_1_mitte_pos = (mitte[0] - (indexnr0_mitte_groesse[0] / 2 )), (mitte[1] - (indexnr0_mitte_groesse[1] / 2 ))
- indexnr2_2_mitte_pos = (mitte[0] - (indexnr0_mitte_groesse[0] / 2 ) + indexnr0_mitte_groesse[0]), (mitte[1] - (indexnr0_mitte_groesse[1] / 2 ))
- textanzeige = 200, 450
- if fehlersuche == 1:
- print "auswahlbild_rec=: ", auswahlbild_rec
- print "hochbutton_rec=: ", pfeil_hoch_rec
- print "runterbutton_rec=: ", pfeil_runter_rec
- print "u-ordner1_rec=: ", u_ordner1_rec
- print "extra-rec=: ", extra_rec
- print "shutdownicon=: ", beenden_rec
- print "zeit_runter_pfeil_position", zeit_runter_pfeil_position
- # Programmiermodus-------------------------------------------------------------------------------------------------------------------------------
- if Laptop == 2: # vom Livestick aus wird gespielt
- bilderordner = "/media/mint/087B-0D92/Bilder/"
- mp3ordner = "/home/mint/heorspielbox/MP3s/"
- if Laptop == 1: # am Laptop wird gespielt
- bilderordner = "/home/schmidde/Hoerspielbox/Bilder/"
- mp3ordner = "/home/schmidde/Hoerspielbox/"
- if Laptop == 0: # am Pi wird gespielt
- bilderordner = "/media/pi/087B-0D92/Bilder/"
- mp3ordner = "/media/pi/087B-0D92/"
- if fehlersuche == 1:
- print ("Programmiermodus:", Laptop, "(0==Pi-, 1==Laptop-Modus, 2==Voyeger-USB-Stick)")
- print ("erster MP3 ordner im", mp3ordner.count("/"), "-ten unterorndern ...+") # http://www.devedge.de/python/zeichenketten/teilzeichenketten-suchen-python
- mp3_ordner_liste = mp3ordner
- #------------------------------------------------------------------------------------------
- hintergrundbild = bilderordner + "hintergrund.jpg"
- hintergrundbild2 = bilderordner + "hintergrund2.png"
- hintergrundbild3 = bilderordner + "hintergrund4.jpg"
- ordner_leer = bilderordner + "Fragezeichen2.png"
- fragezeichen = bilderordner + "Fragezeichen.png"
- pfeil_hoch = bilderordner + "Pfeil5_hoch.png"
- pfeil_runter = bilderordner + "Pfeil5_runter.png"
- play = bilderordner + "Play.png"
- pause = bilderordner + "pause.png"
- stop = bilderordner + "stop.png"
- lauter_bild = bilderordner + "lauter3.png"
- leiser_bild = bilderordner + "leiser3.png"
- extras = bilderordner + "extras.png"
- Zurueck = bilderordner + "Zurueck.png"
- beenden_bild = bilderordner + "Shutdown(Icon).png"
- sanduhr_icon = bilderordner + "stundenglass_icon.png"
- abspiel_meneu1 = bilderordner + "Zeiteinstellung.png"
- abspiel_meneu2 = bilderordner + "Zeiteinstellung2.png"
- abspiel_menue3 = bilderordner + "ordner_durchspielen.png"
- denkpunkt = bilderordner + "Denk_punkt.png"
- haeckchen = bilderordner + "Good2.png"
- zahlenbutton = bilderordner + "Grundbutton.png"
- Zahl0 = bilderordner + "Zahl0.png"
- Zahl1 = bilderordner + "1.png"
- Zahl2 = bilderordner + "2.png"
- Zahl3 = bilderordner + "3.png"
- Zahl4 = bilderordner + "4.png"
- Zahl5 = bilderordner + "5.png"
- Zahl6 = bilderordner + "6.png"
- Zahl7 = bilderordner + "7.png"
- Zahl8 = bilderordner + "8.png"
- Zahl9 = bilderordner + "9.png"
- doppelpunkt = bilderordner + "doppelpunkt.png"
- #--------------------------------------------------------------------------------------------
- screen = pygame.display.set_mode(bildschirmgroesse)
- pygame.display.set_caption("Hoerspielbox")
- if Laptop == 0:
- pygame.display.toggle_fullscreen()
- # pygame.mouse.set_visible(0) # 0== versteckt die den Mauszeiger 1== laest den Mauszeiger angezeigt
- hintergrund = pygame.image.load(hintergrundbild).convert_alpha()
- hintergrund = pygame.transform.scale(hintergrund,bildschirmgroesse)
- screen.blit(hintergrund, (0,0))
- pygame.display.flip()
- # Collidpiont--------------------------------------------------------------------------------
- Auswalbild = pygame.draw.rect(hintergrund, (255,255,255), (auswahlbild_rec))
- HochPfeilBild = pygame.draw.rect(hintergrund, (255,255,255), (pfeil_hoch_rec))
- RunterPfeilBild = pygame.draw.rect(hintergrund, (255,255,255), (pfeil_runter_rec))
- PlayPauseBild = pygame.draw.rect(hintergrund, (255,255,255), (play_pause_rec))
- StopBild = pygame.draw.rect(hintergrund, (255,255,255), (stop_rec))
- LauterBild = pygame.draw.rect(hintergrund, (255,255,255), (lauter_rec))
- LeiserBild = pygame.draw.rect(hintergrund, (255,255,255), (leiser_rec))
- U_Ordner1 = pygame.draw.rect(hintergrund, (255,255,255), (u_ordner1_rec))
- ExtraBild = pygame.draw.rect(hintergrund, (255,255,255), (extra_rec))
- Beenden = pygame.draw.rect(hintergrund, (255,255,255), (beenden_rec))
- Beenden_Zeit = pygame.draw.rect(hintergrund, (255,255,255), (abspiel_meneu1_rec))
- Beenden_endeMp3 = pygame.draw.rect(hintergrund, (255,255,255), (abspiel_meneu2_rec))
- Ordner_durchspiel= pygame.draw.rect(hintergrund, (255,255,255), (abspiel_meneu3_rec))
- ZeitbuttonBild = pygame.draw.rect(hintergrund, (255,255,255), (zahlenbutton_rec))
- Zeit_hoch = pygame.draw.rect(hintergrund, (255,255,255), (zeit_hoch_pfeil_rec))
- Zeit_runter = pygame.draw.rect(hintergrund, (255,255,255), (zeit_runter_pfeil_rec))
- #---------------------------------------------------------------------------------------------
- MP3_End = pygame.USEREVENT + 1
- pygame.mixer.music.set_endevent(MP3_End)
- # on touch--------------------------------------------------------------------------------------------------------------------
- def on_touch():
- global is_ne_mp3
- global mp3_abspiel
- global play_oder_pause
- global unterordner
- global ansicht
- global beenden_menue
- global start_time
- global ordner_durchspielen
- global frame_count # Neu bei 340
- soll_print = 0
- if ansicht == 1:
- #mittiges Auswahlbild
- if Auswalbild.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- Auswahlbild Mitte ausgewaehlt")
- if is_ne_mp3 == 0:
- if soll_print == 1:
- print ("in -on_touch-: ein Ordner wurde angewaehlt -> Name umbauen und Listen neu einlesen")
- ordner_aufwaertz()
- else:
- if soll_print == 1:
- print ("in -on_touch-: eine MP3 wurde angewaehlt -> Pfeile ausblenden, laut/leiser Pause/play und Stop einblenden")
- if play_oder_pause == 0:
- play_oder_pause = 1
- mp3_abspiel = 1
- pygame.mixer.music.stop()
- lade_mp3_und_play()
- if soll_print == 1:
- print ("in on_touch pygame.mixer.get_init(): ", pygame.mixer.get_init())
- print ("in on_touch pygame.mixer.music.unpause():", pygame.mixer.music.unpause())
- bildaufbau()
- if mp3_abspiel == 0: # im Auswahlmodus soll nur hoch oder runter angezeigt werden
- #Hoch und Runter Button
- if HochPfeilBild.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- Button hoch ausgewaehlt")
- zaehl_hoch()
- if RunterPfeilBild.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- Button runter ausgewaehlt")
- zaehl_runter()
- else: # sonst sollen die Abspielbutton zu sehen sein
- if PlayPauseBild.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- Play oder Pause ausgewaehlt")
- if play_oder_pause == 1:
- play_oder_pause = 0
- if soll_print == 1:
- print ("in -on_touch- Pause ausgewaehlt")
- print ("play_oder_pause ==:", play_oder_pause )
- bildaufbau()
- else:
- pygame.mixer.music.unpause()
- if soll_print == 1:
- print ("in -on_touch- Play ausgewaehlt")
- play_oder_pause = 1
- bildaufbau()
- if StopBild.collidepoint(pygame.mouse.get_pos()):
- stop_funktion()
- if soll_print == 1:
- print ("in -on_touch- Stop ausgewaehlt")
- mp3_abspiel = 0
- bildaufbau()
- if LauterBild.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- eins Lauter ausgewaehlt")
- if krach < 1.0:
- lauter()
- if LeiserBild.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- eins Leiser ausgewaehlt")
- if krach > 0.1:
- leiser()
- if unterordner > 0:
- if U_Ordner1.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- U-Ordner-Bildchen wurde gedrueckt")
- print ("auf zum nullten Ordnder")
- mp3_abspiel = 0
- stop_funktion()
- ordner_abwaerz()
- #Extrabutton
- if ExtraBild.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print "jetzt sollte das bild auf extras umspringen"
- if ansicht == 3:
- ansicht = 2
- bildaufbau()
- elif ansicht == 2:
- ansicht = 1
- bildaufbau()
- elif ansicht == 1:
- ansicht = 2
- bildaufbau()
- if ansicht == 2: # auswahlmeneu welches runterfahrverfahren angewaendet werden soll
- if Beenden_Zeit.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print "es wurde das Sanduhrmeneu ausgewaehlt -> Zeit einstellen -> Bildschirm get in standby -> mp3 endet nach eingestellter zeit -> pi faehrt runter"
- if beenden_menue == 2: #ab hier neu 340
- beenden_menue = 1
- ansicht = 1
- bildaufbau()
- elif beenden_menue != 2: #bis hier neu 340
- ansicht = 3
- bildaufbau()
- if Beenden_endeMp3.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print "es wurde das zuendespiel meneu ausgewaehlt -> Bildschirm get in standby -> mp3 spielt zuende -> pi faehrt runter"
- print "Variable -beenden_menue- ist auf 3 gesetzt"
- if beenden_menue == 3:
- beenden_menue = 1
- ansicht = 1
- bildaufbau()
- elif beenden_menue != 3:
- beenden_menue = 3
- if ordner_durchspielen == 1:
- ordner_durchspielen = 0
- ansicht = 1
- bildaufbau()
- if Ordner_durchspiel.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print "Jetzt wird der ordner druchgespielt, dann abspielstop"
- if beenden_menue == 3: # setzt Option 3 ausser kraft
- beenden_menue = 1
- if ordner_durchspielen == 1: # hier wird die durchspilen-Option auf "0" gesetzt
- ordner_durchspielen = 0
- ansicht = 1
- bildaufbau()
- elif ordner_durchspielen == 0: # hier wird die durchspilen-Option auf "1" gesetzt
- ordner_durchspielen = 1
- ansicht = 1
- bildaufbau()
- if soll_print == 1:
- print "in ontouch: Variable -ordner_durchspielen-:", ordner_durchspielen
- if Beenden.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- Beenden angewaehlt")
- beenden_funktion()
- if ansicht == 3: # Zeiteinstellmeneu
- if (zeit_var + zeit_schritt) < zeit_max:
- if Zeit_hoch.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print "jetzt sollte Variable -zeit_var- um Variable -zeit_schritt- hochgezaehlt werden",
- print " ", zeit_var ," ", zeit_schritt
- zeit_zaehl_hoch()
- if (zeit_var - zeit_schritt) >= 0 :
- if Zeit_runter.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print "jetzt sollte Variable -zeit_var- um Variable -zeit_schritt- hochgezaehlt werden",
- print " ", zeit_var ," ", zeit_schritt
- zeit_zaehl_runter()
- if zeit_var > 0:
- if ZeitbuttonBild.collidepoint(pygame.mouse.get_pos()):
- frame_count = 0
- if soll_print == 1:
- print ("in -on_touch- Zeitbutton wurde gedrueckt")
- if Laptop == 1:
- start_time = zeit_var
- beenden_menue = 2
- ansicht = 1
- bildaufbau()
- if Laptop == 0:
- start_time = zeit_var * 60
- beenden_menue = 2
- ansicht = 1
- bildaufbau()
- if Beenden.collidepoint(pygame.mouse.get_pos()):
- if soll_print == 1:
- print ("in -on_touch- Beenden angewaehlt")
- beenden_funktion()
- # loadbild--------Bild laden, scallieren, positionieren-----------------------------------------------------------------
- def loadbild(Bild, Groesse, Position):
- soll_print = 0
- if soll_print == 1:
- print ("in -def loadbild-, -Bild-:", Bild)
- image = pygame.image.load(Bild)
- if image.get_alpha() is None:
- image = image.convert()
- else:
- image = image.convert_alpha()
- image = pygame.transform.scale(image,Groesse)
- Neu = screen.blit(image, Position)
- pygame.display.update(Neu)
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def erstelle_text(Text, pos_x, pos_y):
- ## schriftart und groesse
- eigenschaften = pygame.font.SysFont("monospace", 15)
- ## Text Anti-alias und RGB Farbe
- erstelle = eigenschaften.render((Text), 1, (0,255,0))
- ## zusammenfassung und positionierung
- Fertig = screen.blit(erstelle, (pos_x, pos_y))
- pygame.display.update(Fertig)
- #----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def hoch_runter_pfeile():
- soll_print = 0
- if soll_print == 1:
- print ("in -def hoch_runter_pfeile():- :")
- print ("Variable -mp3_abspiel- =:", mp3_abspiel)
- if mp3_abspiel == 0:
- loadbild(pfeil_hoch, bilder_rechts, pfeil_hochposition)
- loadbild(pfeil_runter, bilder_rechts, pfeil_runterposition)
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def lade_mp3_und_play():
- soll_print = 0
- if soll_print == 1:
- print "in -def lade_mp3_und_play()-:"
- pygame.mixer.music.stop()
- if soll_print == 1:
- print "-pygame.mixer.music.stop()-"
- clip = pygame.mixer.music.load(mp3_ordner_liste[angewaehlter_index])
- if soll_print == 1:
- print "in -def lade_mp3_und_play()-:"
- print "clip = pygame.mixer.music.load(mp3_ordner_liste[angewaehlter_index]):", mp3_ordner_liste[angewaehlter_index]
- pygame.mixer.music.play()
- if soll_print == 1:
- print " -pygame.mixer.music.play()-"
- print "pygame.mixer.get_init(): ", pygame.mixer.get_init()
- print "pygame.mixer.music.unpause():", pygame.mixer.music.unpause()
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def mp3_abspielbutton():
- global mp3anlauf
- soll_print = 0
- if mp3anlauf == 0:
- lade_mp3_und_play()
- mp3anlauf = 1
- if soll_print == 1:
- print ("in -def abspielbutton():- :")
- if play_oder_pause == 1:
- loadbild(pause, bilder_rechts, play_pause_position)
- pygame.mixer.music.unpause() # hier muss die mp3 schon geladen sein
- if soll_print == 1:
- print ("Variable -play_oder_pause- steht auf:", play_oder_pause, "-> MP3 lauuft jetzt kann Pause gedrueckt werden")
- else:
- loadbild(play, bilder_rechts, play_pause_position)
- pygame.mixer.music.pause()
- if soll_print == 1:
- print ("Variable -play_oder_pause- steht auf:", play_oder_pause, "-> MP3 pausiert jetzt kann Play gedrueckt werden")
- loadbild(stop, bilder_rechts, stop_position)
- # loadbild(lauter_bild, bilder_rechts, lauter_positon)
- # loadbild(leiser_bild, bilder_rechts, leiser_position)
- #--------------------------------------------------------------------------------------------------------------------------------------------------
- def stop_funktion():
- global mp3anlauf
- soll_print = 0
- pygame.mixer.music.stop()
- mp3anlauf = 0
- if soll_print == 1:
- print ("in -def stop_funktion():- ")
- print ("es wurde der Stop-Button betaetigt")
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def lauter():
- global krach
- soll_print = 0
- if soll_print == 1:
- print ("in -def lauter()-")
- print ("Krach ist jetzt:", krach)
- ist = krach
- neu = ist + 0.1
- if neu > 1.0:
- krach = 1.0
- else:
- krach = neu
- pygame.mixer.music.set_volume(krach)
- if soll_print == 1:
- print ("in -def lauter()-")
- print ("Krach ist jetzt:", krach)
- bildaufbau()
- #-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def leiser():
- global krach
- soll_print = 0
- if soll_print == 1:
- print ("in -def leiser()-")
- print ("Krach ist jetzt:", krach)
- ist = krach
- neu = ist - 0.1
- if neu < 0.1:
- krach = 0.1
- else:
- krach = neu
- pygame.mixer.music.set_volume(krach)
- if soll_print == 1:
- print ("in -def leiser()-")
- print ("Krach ist jetzt:", krach)
- bildaufbau()
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def zaehl_hoch():
- # mp3_ordner_liste = die Sortierte Liste aus der Ordner und MP3s ausgewaehlt werden koennen
- # angewaehlt_index = gerade angewaehlter Inhalt von dem aus hoch gezaehlt wird (index ermitteln und +1)
- global mp3_ordner_liste
- global angewaehlter_index
- soll_print = 0
- index_aktuell = angewaehlter_index
- index_max = len(mp3_ordner_liste)
- index_neu = 0
- if soll_print == 1:
- print ("in -def zaehl_hoch():- :")
- print ("index_aktuell =", index_aktuell)
- print ("index_max =", index_max)
- if index_aktuell < (index_max - 1):
- index_neu = index_aktuell + 1
- else:
- index_neu = 0
- if soll_print == 1:
- print ("index_aktuell =", index_aktuell)
- print ("index_max =", index_max)
- print ("index_neu =", index_neu)
- angewaehlter_index = index_neu
- bildaufbau()
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def zaehl_runter():
- # mp3_ordner_liste = die Sortierte Liste aus der Ordner und MP3s ausgewaehlt werden koennen
- # angewaehlt_index = gerade angewaehlter Inhalt von dem aus hoch gezaehlt wird (index ermitteln und +1)
- global mp3_ordner_liste
- global angewaehlter_index
- soll_print = 0
- index_aktuell = angewaehlter_index
- index_max = len(mp3_ordner_liste)
- index_neu = 0
- if soll_print == 1:
- print ("in -def zaehl_runter():- :")
- print ("index_aktuell =", index_aktuell)
- print ("index_max =", index_max)
- if index_aktuell > 0:
- index_neu = index_aktuell - 1
- else:
- index_neu = (index_max - 1)
- if soll_print == 1:
- print ("index_aktuell =", index_aktuell)
- print ("index_max =", index_max)
- print ("index_neu =", index_neu)
- angewaehlter_index = index_neu
- bildaufbau()
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def zeit_zaehl_hoch():
- global zeit_var
- soll_print = 0
- zeit_aktuell = zeit_var
- if (zeit_aktuell + zeit_schritt) < zeit_max:
- if soll_print == 1:
- print "zeit_var = zeit_aktuell + zeit_schritt: ", zeit_var, "=", zeit_aktuell, "+", zeit_schritt
- zeit_var = zeit_aktuell + zeit_schritt
- bildaufbau()
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def zeit_zaehl_runter():
- global zeit_var
- soll_print = 0
- zeit_aktuell = zeit_var
- if (zeit_aktuell - zeit_schritt) > 0:
- if soll_print == 1:
- print "zeit_var = zeit_aktuell - zeit_schritt: ", zeit_var, "=", zeit_aktuell, "-", zeit_schritt
- zeit_var = zeit_aktuell - zeit_schritt
- bildaufbau()
- #--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def naechste_mp3():
- global ordner_durchspielen
- global mp3_abspiel
- soll_print = 1
- index_aktuell = angewaehlter_index + 1
- index_max = len(mp3_ordner_liste)
- if soll_print == 1:
- print "in Funktion -naechste_mp3()-: nimmt aktuelle MP3 -> nimmt die in der List kommende MP3 -> laesst diese Abspielen -> bis letzte MP3 im Ordner erreicht -> dann Stopp Funktion"
- print "index_aktuell:", index_aktuell
- print "index_max: ", index_max
- if index_aktuell >= index_max:
- if soll_print == 1:
- print "Letzte mp3 im Ordner wurde abbespielt"
- ordner_durchspielen = 0
- mp3_abspiel = 0
- stop_funktion()
- bildaufbau()
- elif index_aktuell < index_max:
- if soll_print == 1:
- print "Es ist noch nicht die Letzt Mp3 -> eins weiter spulen -> mp3 Abspielen"
- zaehl_hoch()
- lade_mp3_und_play()
- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- def lese_ein(pfad):
- global gesamter_inhalt
- soll_print = 0 # 0 == Printauftraege aus, ==1 gefilterterordnerinhalt, ==2 Odnerfilterung, ==3 MP3 sortierung
- gesamter_inhalt = [] # hier wird temporaer der gesammte Ordnder eingelesen
- temp_liste_inhalt_mp3 = [] #
- temp_liste_inhalt_ordner = []
- temp_liste_anzahl = [] # anzahl der Elemente aus "gesamter_inhalt"
- temp_liste_inhalt_gefiltert = []
- gesamter_inhalt = glob.glob(pfad + "*")
- temp_liste_anzahl = len(gesamter_inhalt)
- if temp_liste_anzahl >= 1:
- for i in gesamter_inhalt: # hier beginnt die umsortierung der Ordner mit Bildern
- temp_i = i+"/"
- if len(glob.glob(temp_i + "*")) >= 1: # ueberpruefung ob i ein ordner ist
- if soll_print == 2:
- print ("in lese_ein_pfad():")
- print ("ueberprueft (if len(glob.glob(temp_i)) >= 1:):" , len(glob.glob(temp_i)))
- print (i, "es ist ein Ordner")
- for j in bildformate: # Bildformate = Variablen-Liste die weiter oben Definiert ist
- temp_j = i+j # zusammenbau Ordnername + Bildformatendung (z.B. ".jpg")
- if soll_print == 2:
- print (j, "/ i+j:", temp_j, "gecheckt")
- if temp_j in gesamter_inhalt: # ueberpruefung ob es zum Ordner ein gleichnamiges Bild gibt
- temp_liste_inhalt_ordner.append(i) # fuer Ordner "i" gibt es ein Bild ("i"+"j") und wird in "temp_liste_inhalt_ordner" hinzugefuegt
- # !!! Ordner ohne gleichnamiges Bild wird nicht in "temp_liste_inhalt_ordner" hinzugefuegt
- if soll_print == 2:
- print (temp_j, "/", j, "j ist in Liste -gesamter_inhalt-")
- break
- else:
- if soll_print == 2:
- print (temp_j, "/", j, "j ist nicht in Liste -gesamter_inhalt-")
- if soll_print == 2:
- print ("es sind: ", len(temp_liste_inhalt_ordner), "Inhalt in -temp_liste_inhalt_ordner-")
- print ("inhalt von -temp_liste_inhalt_ordner-: ", temp_liste_inhalt_ordner)
- if fehlersuche == 2:
- print (len(temp_liste_inhalt_ordner), "listenininhalte sind in temp_liste_inhalt_ordner")
- print ("Inhalt von -temp_liste_inhalt_ordner-: ", temp_liste_inhalt_ordner)
- for i in gesamter_inhalt:
- if soll_print == 3:
- print ("es wird Element: ", i, "ueberprueft")
- if ".mp3" in i:
- temp_liste_inhalt_mp3.append(i)
- if soll_print == 3:
- print ("Element i ist eine MP3 und ist zu -temp_liste_inhalt_mp3- hinzugefuegt")
- if soll_print == 3:
- print ("in -temp_liste_inhalt_mp3- sind ", len(temp_liste_inhalt_mp3)," elemente, diese sind:", temp_liste_inhalt_mp3)
- temp_liste_inhalt_gefiltert = sorted(temp_liste_inhalt_ordner + temp_liste_inhalt_mp3)
- if soll_print == 1:
- print ("in -def lese_ein(pfad)- in -temp_liste_inhalt_gefiltert- sind ", len(temp_liste_inhalt_gefiltert)," elemente")
- print ("diese sind:", temp_liste_inhalt_gefiltert)
- return temp_liste_inhalt_gefiltert
- else:
- print ("Fehler in Funktion -lese_ein(pfad)- ")
- print ("ueberpruefe den Inhalt vom Pfad :", pfad)
- zurueck()
- #---------------------------------------------------------------------------------------------------------------------------------------------
- def zurueck():
- loadbild(ordner_leer, auswahlbildgroesse, auswahlbildposition)
- #----------------------------------------------------------------------------------------------------------------------------------------------
- # wurde ein Ordner ausgewaehlt so wird hier der Name geaender, und die durchzublaeternde liste uebergeben (wir in On_touchgebraucht)
- def ordner_aufwaertz():
- global mp3_ordner_liste
- global angewaehlter_index
- soll_print = 0
- temp_name = ""
- if soll_print == 1:
- print ("in -def ordner_aufwaertz():- :")
- print ("uebergebener OrdnerName:", mp3_ordner_liste[angewaehlter_index])
- print ("zurueckgegebender Name:", (mp3_ordner_liste[angewaehlter_index]) + "/")
- mp3_ordner_liste = lese_ein((mp3_ordner_liste[angewaehlter_index]) + "/")
- angewaehlter_index = 0
- bildaufbau()
- #----------------------------------------------------------------------------------------------------------------------------------------------
- # hier soll es ein Ordner abwaerz gehen
- # nehme Namen rutsche von rechts nach links mit ( .rindex("/")) bis zu diesem letzten zeichen zurueck
- # lese ordner neu ein
- # ermittle aus dem alten Namen den Index des Orndern und uebergib ihn
- def ordner_abwaerz():
- global mp3_ordner_liste
- global angewaehlter_index
- global unterordner
- soll_print = 0
- if soll_print == 1:
- print ("in def_ordner_abwaerz(): ...")
- print ("der String der abwaerz gerechnet werden soll:", mp3_ordner_liste[0])
- temp_name1 = mp3_ordner_liste[0][:mp3_ordner_liste[0].rindex("/")]
- temp_name2 = temp_name1[:temp_name1.rindex("/")] + "/"
- temp_name3 = temp_name1[temp_name1.rindex("/") + 1:]
- if soll_print == 1:
- print ("Neuer/Alter OrdnerName:",temp_name1)
- print ("Neuer/Alter OrdnerName:",temp_name2)
- print ("zu suchender IndexName",temp_name3)
- mp3_ordner_liste_temp = lese_ein(temp_name2)
- if soll_print == 1:
- print ("Neueingelesener Inhat:",mp3_ordner_liste_temp)
- temp_index = mp3_ordner_liste_temp.index(temp_name1)
- if soll_print == 1:
- print ("zu uebergebender Index:",temp_index)
- mp3_ordner_liste = mp3_ordner_liste_temp
- angewaehlter_index = temp_index
- # unterordner = unterordner - 1
- bildaufbau()
- #----------------------------------------------------------------------------------------------------------------------------------------------
- def mp3option(name):
- soll_print = 0
- temp_mp3bild = ""
- temp_name = name [:len(name)-4]
- if soll_print == 1:
- print "in -def mp3option(name):- :"
- print "name:", name
- print "temp_name ist:", temp_name
- # ab hier wird ueberprueft ob es Bild zur MP3 giebt
- for i in bildformate: # Bildformate = Variablen-Liste die weiter oben Definiert ist
- x = temp_name + i # zusammenbau MP3-Name + Bildformatendung (z.B. ".jpg")
- if x in gesamter_inhalt:
- temp_mp3bild = x
- loadbild(x, auswahlbildgroesse, auswahlbildposition)
- break
- if len(temp_mp3bild) < 1:
- if soll_print == 1:
- print "suche weiter", name
- audio = MP3(name)
- mytagstring = audio.pprint()
- if mytagstring.find('APIC') >= 0:
- if soll_print == 1:
- print "bild in mp3"
- try:
- Bild = ((Image.open(BytesIO(audio.tags['APIC:'].data))).convert('RGB')).resize((auswahlbildgroesse), Image.ANTIALIAS).save("Fertig.png")
- if soll_print == 1:
- print "bild in MP3 am ende von -try-"
- pygame.display.update(screen.blit((pygame.image.load("Fertig.png")), auswahlbildposition))
- except:
- if soll_print == 1: #bei manchen MP3s gab es eine Fehlermeldung
- print "doofes Bild in MP3"
- loadbild(fragezeichen, auswahlbildgroesse, auswahlbildposition)
- else:
- try:
- text1 = (str(angewaehlter_index + 1))
- text1laenge = len(text1)
- if soll_print == 1:
- print ("Indexnummer: ", text1)
- print ("text1laenge: ", text1laenge)
- temp_name1 = mp3_ordner_liste[0][:mp3_ordner_liste[0].rindex("/")]
- temp_name2 = temp_name1[:temp_name1.rindex("/")] + "/"
- ornder_temp = glob.glob(temp_name2 + "*")
- for i in bildformate:
- unterordnerbildchen = temp_name1 + i
- if soll_print == 1:
- print (temp_name1, "+", i, "gecheckt")
- print ("temp_name2 ist:", unterordnerbildchen)
- if unterordnerbildchen in ornder_temp:
- if soll_print == 1:
- print ("unterordnerbildchen in mp3ordner")
- loadbild(unterordnerbildchen, auswahlbildgroesse, auswahlbildposition) # Ersatzbild vom uebergeordneten Ordner
- if text1laenge == 1:
- loadbild(bilderordner+text1[0]+".png", indexnr0_mitte_groesse, indexnr0_mitte_pos)
- if text1laenge == 2:
- loadbild(bilderordner+text1[0]+".png", indexnr0_mitte_groesse, indexnr1_0_mitte_pos)
- loadbild(bilderordner+text1[1]+".png", indexnr0_mitte_groesse, indexnr1_1_mitte_pos)
- if text1laenge == 3:
- loadbild(bilderordner+text1[0]+".png", indexnr0_mitte_groesse, indexnr2_0_mitte_pos)
- loadbild(bilderordner+text1[1]+".png", indexnr0_mitte_groesse, indexnr2_1_mitte_pos)
- loadbild(bilderordner+text1[2]+".png", indexnr0_mitte_groesse, indexnr2_2_mitte_pos)
- except:
- if soll_print == 1:
- print "auch kein Bild in MP3"
- loadbild(fragezeichen, auswahlbildgroesse, auswahlbildposition)
- #-------------------------------------------------------------------------------------------------------------------------------------------------
- #Hier wird zum Ordner das passende Bild rausgesucht und zur Drastellung (def_bildaufbau() ) gebracht (grossens Auswahlbild)
- def ordneroption(name):
- soll_print = 0
- temp_name = ""
- if soll_print == 1:
- print ("an -def ordneroption(name):- wurde folgender name uebergeben:", name)
- for i in bildformate:
- temp_name = name + i
- if soll_print == 1:
- print (name, "+", i, "gecheckt")
- print ("temp_name ist:", temp_name)
- if temp_name in gesamter_inhalt:
- loadbild(temp_name, auswahlbildgroesse, auswahlbildposition)
- break
- #--------------------------------------------------------------------------------------------------------------------------------------------------
- # mp3_ordner_liste -> eine ordnerebne tiefer gehen -> name Extrahieren -> passendes Bilchen finden -> anzeigen lassen
- # -> ... .rindex("/") -> -> for i in bildformate -> loadbild( ... , bilder_links, u_ordner1_position)
- def ordner_zureuckbildchen():
- soll_print = 0
- if soll_print == 1:
- print ("in def_ordner_zureuckbildchen():")
- print ("uebergebender ordnername:", mp3_ordner_liste[0])
- temp_name1 = mp3_ordner_liste[0][:mp3_ordner_liste[0].rindex("/")]
- temp_name2 = temp_name1[:temp_name1.rindex("/")] + "/"
- ornder_temp = glob.glob(temp_name2 + "*")
- if soll_print == 1:
- print ("Neuer/Alter OrdnerName1:",temp_name1)
- print ("Neuer/Alter OrdnerName2:",temp_name2)
- print ("Inhalt von ornder_temp :",ornder_temp)
- for i in bildformate:
- temp_name3 = temp_name1 + i
- if soll_print == 1:
- print (temp_name1, "+", i, "gecheckt")
- print ("temp_name2 ist:", temp_name3)
- if temp_name3 in ornder_temp:
- if soll_print == 1:
- print ("temp_name3 in mp3ordner")
- loadbild(temp_name3, bilder_links, u_ordner1_position)
- #-------------------------------------------------------------------------------------------------------------------------------------------------------------
- def beenden_funktion():
- soll_print = 0
- if soll_print == 1:
- print (" in -beenden_funktion():- funktion laeuft")
- if Laptop == 0:
- os.system("sudo shutdown -h now")
- if Laptop > 0:
- print (" in -beenden_funktion():- Script wurde beendet")
- pygame.quit();
- sys.exit(0);
- schleife = False;
- #--------------------------------------------------------------------------------------------------------------------------------------------------
- def bildaufbau():
- global option
- global gesamter_inhalt
- global is_ne_mp3
- global mp3_abspiel
- global mp3_ordner_liste
- global angewaehlter_index
- global unterordner
- soll_print = 0
- unterordner_name = ""
- temp = ""
- if ansicht == 1:
- hintergrund = pygame.image.load(hintergrundbild).convert_alpha()
- screen.blit(hintergrund, pygame.rect.Rect(0,0,bildschirmgroesse[0],bildschirmgroesse[1]))
- loadbild(extras, extra_groesse, extra_position)
- if soll_print == 1:
- print "in -def bildaufbau():- :"
- # print ("mp3ornder =", mp3ordner)
- if option == 0: # erster einmaliger durchlauf um den inhalt des ersten Ordners einzulesen
- mp3_ordner_liste = lese_ein(mp3ordner)
- if soll_print == 1:
- print "in -def bildaufbau():-"
- print "Elemente der -mp3_ordner_liste-:", len(mp3_ordner_liste)
- pygame.mixer.music.set_volume(krach)
- option = 2
- if option == 1:
- option = 2
- if option == 2:
- unterordner = (mp3_ordner_liste[angewaehlter_index].count("/")) - (mp3ordner.count("/"))
- if soll_print == 1:
- print "gerade im", unterordner, "-ten unterordner"
- print "in -def bildaufbau():- option 2 gewaehlt; Inhalt der uebergebenen mp3_ordner_liste:", mp3_ordner_liste
- if mp3_ordner_liste[angewaehlter_index] [len(mp3_ordner_liste[angewaehlter_index])-3:] == "mp3":
- if soll_print == 1:
- print "is ne mp3"
- is_ne_mp3 = 1
- mp3option(mp3_ordner_liste[angewaehlter_index])
- else:
- if soll_print == 1:
- print "ist ein Ordner"
- is_ne_mp3 = 0
- ordneroption(mp3_ordner_liste[angewaehlter_index]) # Merke: Jeder Ordner hat ein ihm zugehoeriges Bild
- if mp3_abspiel == 0:
- if soll_print == 1:
- print "in -def bildaufbau():-, in -if mp3_abspiel == 0:-, Variable mp3_abspiel:", mp3_abspiel
- hoch_runter_pfeile()
- else:
- if soll_print == 1:
- print "in -def bildaufbau():-, in -if mp3_abspiel == 1:-, Variable mp3_abspiel:", mp3_abspiel
- mp3_abspielbutton()
- if soll_print == 1:
- print "angewaehlt_index :", angewaehlter_index
- print "angewaehlt_index , Name:", mp3_ordner_liste[angewaehlter_index]
- if unterordner > 0:
- ordner_zureuckbildchen()
- if (krach < 0.9) & (mp3anlauf == 1):
- loadbild(lauter_bild, bilder_rechts, lauter_positon)
- if (krach > 0.1) & (mp3anlauf == 1):
- loadbild(leiser_bild, bilder_rechts, leiser_position)
- if soll_print == 1:
- print "in def bildaufbau(): "
- print "mp3_ordner_liste[angewaehlter_index]", mp3_ordner_liste[angewaehlter_index]
- temp_name1 = mp3_ordner_liste[angewaehlter_index][:mp3_ordner_liste[angewaehlter_index].rindex("/")]
- temp_name2 = temp_name1[:temp_name1.rindex("/")] + "/"
- temp_name3 = mp3_ordner_liste[angewaehlter_index][mp3_ordner_liste[angewaehlter_index].rindex("/") + 1:-4]
- text1 = (str(angewaehlter_index + 1)) + ("/") + str(len(mp3_ordner_liste))
- text2 = (str(mp3_ordner_liste[angewaehlter_index][mp3_ordner_liste[angewaehlter_index].rindex("/") + 1:-4]))
- erstelle_text(text1, textanzeige[0], textanzeige[1])
- erstelle_text(text2, textanzeige[0] + 50, textanzeige[1])
- if ansicht == 2:
- hintergrund = pygame.image.load(hintergrundbild2).convert_alpha()
- screen.blit(hintergrund, pygame.rect.Rect(0,0,bildschirmgroesse[0],bildschirmgroesse[1]))
- loadbild(abspiel_meneu1, abspiel_menue_groesse, abspiel_meneu1_position)
- loadbild(abspiel_meneu2, abspiel_menue_groesse, abspiel_meneu2_position)
- loadbild(abspiel_menue3, abspiel_menue_groesse, abspiel_meneu3_position)
- if beenden_menue == 2:
- loadbild(haeckchen, haeckchen_groesse, haeckchen_position1)
- if beenden_menue == 3:
- loadbild(haeckchen, haeckchen_groesse, haeckchen_position2)
- if ordner_durchspielen == 1:
- loadbild(haeckchen, haeckchen_groesse, haeckchen_position3)
- loadbild(Zurueck, extra_groesse, extra_position)
- loadbild(beenden_bild, shutdownicon, beenden_position)
- if ansicht == 3:
- hintergrund = pygame.image.load(hintergrundbild3).convert_alpha()
- screen.blit(hintergrund, pygame.rect.Rect(0,0,bildschirmgroesse[0],bildschirmgroesse[1]))
- zeit_var1 = "{0:02}".format(zeit_var)
- if soll_print == 1:
- print "zeit_var=", zeit_var ," zeit_var1=", zeit_var1
- loadbild(sanduhr_icon, sanduhr_groesse, sanduhr_position)
- if (zeit_var + zeit_schritt) < zeit_max:
- loadbild(pfeil_hoch, pfeil_groesse, zeit_hoch_pfeil_position)
- loadbild(pfeil_runter, pfeil_groesse, zeit_runter_pfeil_position)
- loadbild(zahlenbutton, zahlenbutton_groesse, zahlenbutton_position)
- loadbild(bilderordner+zeit_var1[0]+".png", zahlengroesse_2, zahlenbutton_zahl1_pos)
- loadbild(bilderordner+zeit_var1[1]+".png", zahlengroesse_2, zahlenbutton_zahl2_pos)
- loadbild(Zurueck, extra_groesse, extra_position)
- loadbild(beenden_bild, shutdownicon, beenden_position)
- pygame.display.flip()
- #----------------------------------------------------------------------------------------------------------------------------------------------
- while schleife:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- if event.type == pygame.KEYDOWN:
- if event.key == pygame.K_ESCAPE:
- pygame.quit();
- sys.exit(0);
- schleife = False
- # Collidpiont abfrage
- if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
- pos = (pygame.mouse.get_pos() [0], pygame.mouse.get_pos() [1])
- on_touch()
- if beenden_menue == 1 or (ordner_durchspielen == 1): # standart die Mp3 endet und eine neue kann gestartet werden
- if event.type == MP3_End:
- if ordner_durchspielen == 0:
- stop_funktion()
- mp3_abspiel = 0
- bildaufbau()
- if ordner_durchspielen == 1:
- naechste_mp3()
- if beenden_menue == 2: # nach ablauf eingestellter zeit faehrt pi unter oder Pygamefenter wird geschlossen... timer wird angezeigt
- screen.fill((0,0,0,0))
- total_seconds = frame_count // frame_rate
- minutes = total_seconds // 60
- seconds = total_seconds % 60
- output_string = "{0:02}:{1:02}".format(minutes, seconds) # {position0 : mit "0" auffuellen, 2 Stellen lassen}:{position1 : mit "0" auffuellen, 2 Stellen lassen}
- # erstelle_text(str(output_string), extra_position[0], 250)
- loadbild(bilderordner+output_string[0]+".png", zahlengroesse, zeit_runter_pos0)
- loadbild(bilderordner+output_string[1]+".png", zahlengroesse, zeit_runter_pos1)
- loadbild(doppelpunkt, zahlengroesse, zeit_runter_pos2)
- loadbild(bilderordner+output_string[3]+".png", zahlengroesse, zeit_runter_pos3)
- loadbild(bilderordner+output_string[4]+".png", zahlengroesse, zeit_runter_pos4)
- # total_seconds = start_time - 1 - (frame_count // frame_rate)
- total_seconds = start_time - 1 - (frame_count // frame_rate)
- if total_seconds < 0:
- total_seconds = 0
- stop_funktion()
- beenden_funktion()
- minutes = total_seconds // 60
- seconds = total_seconds % 60
- output_string = "{0:02}:{1:02}".format(minutes, seconds)
- loadbild(bilderordner+output_string[0]+".png", zahlengroesse, zeit_hoch_pos0)
- loadbild(bilderordner+output_string[1]+".png", zahlengroesse, zeit_hoch_pos1)
- loadbild(doppelpunkt, zahlengroesse, zeit_hoch_pos2)
- loadbild(bilderordner+output_string[3]+".png", zahlengroesse, zeit_hoch_pos3)
- loadbild(bilderordner+output_string[4]+".png", zahlengroesse, zeit_hoch_pos4)
- # erstelle_text(str(output_string), extra_position[0], 280)
- frame_count += 1
- clock.tick(frame_rate)
- if beenden_menue == 3: # wenn die Mp3 endet wird der Pi runtergefahren oder das Pygamefenster geschlossen
- if event.type == MP3_End:
- stop_funktion()
- beenden_funktion()
- if option == 0:
- bildaufbau()
- # if fehlersuche == 1:
- # mouse = pygame.mouse.get_pos()
- # screen.fill((0,0,0,0))
- # erstelle_text(str(mouse), 0, 0)
- # frame_count += 1
- # clock.tick(frame_rate)
- pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement