commit bcc23eaf8c910a1a3632a7716de603b3b33b9f78
parent 6b6b43f3e265293c579f787e83d8b713cd583a85
Author: Robin Bäckman <robinbackman@gmail.com>
Date:   Sat,  6 Aug 2016 14:15:28 +0300
Tio 30 photobooth edition
Diffstat:
3 files changed, 68 insertions(+), 3 deletions(-)
diff --git a/VERSION b/VERSION
@@ -1,2 +1,2 @@
-0.83
+0.84
 Eisenstein
diff --git a/startinterface.sh b/startinterface.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-echo "now you will make a masterpiece" > /mnt/tmp/vumeter
+echo "Tio 30 photobooth camera" > /mnt/tmp/vumeter
 echo "For the lulz" > /mnt/tmp/interface
 cd ./vc/src/hello_pi/hello_interface
 ./camerainterface.bin
diff --git a/tarina.py b/tarina.py
@@ -559,6 +559,62 @@ def timelapse(beeps,camera,timelapsefolder,thefile):
                 return ''
         time.sleep(0.02)
 
+#------------Photobooth--------------------------
+
+def photobooth(beeps, camera, filmfolder, filmname, scene, shot, take, filename):
+    scene, shot, take = countlast(filmname, filmfolder)
+    shot = shot + 1
+    pressed = ''
+    buttonpressed = ''
+    buttontime = time.time()
+    holdbutton = ''
+    seconds = 0.5
+    selected = 0
+    header = 'Press enter to start!! :)'
+    menu = ''
+    while True:
+        settings = 'START'
+        writemenu(menu,settings,selected,header)
+        pressed, buttonpressed, buttontime, holdbutton = getbutton(pressed, buttonpressed, buttontime, holdbutton)
+        foldername = filmfolder + filmname + '/' + 'scene' + str(scene).zfill(3) + '/shot' + str(shot).zfill(3) + '/'
+        filename = 'scene' + str(scene).zfill(3) + '_shot' + str(shot).zfill(3) + '_take' + str(take).zfill(3)
+        #if pressed == 'up' and selected == 0:
+        #    seconds = seconds + 0.1
+        #if pressed == 'down' and selected == 0:
+        #    if seconds > 0.2:
+        #        seconds = seconds - 0.1
+        #if pressed == 'right':
+        #    if selected < (len(settings) - 1):
+        #        selected = selected + 1
+        #if pressed == 'left':
+        #    if selected > 0:
+        #        selected = selected - 1
+        if pressed == 'middle':
+            if selected == 0:
+                os.system('mkdir ' + foldername)
+                p = 0
+                for filename in camera.capture_continuous(foldername + '/img{counter:03d}.jpg'):
+                    p = p + 1
+                    camera.led = True
+                    i = 0
+                    while i < seconds:
+                        writemessage('Taking picture ' + str(p))
+                        i = i + 0.1
+                        time.sleep(0.1)
+                        middlebutton = GPIO.input(5)
+                        if middlebutton == False or p > 9:
+                            break
+                    if middlebutton == False or p > 9:
+                        shot = shot + 1
+                        break
+                    camera.led = False
+                #writemessage('Compiling timelapse')
+                #os.system('avconv -y -framerate 25 -i ' + timelapsefolder + '/img%03d.jpg -c:v libx264 -level 40 -crf 24 ' + thefile + '.h264')
+                #return thefile
+            #if selected == 2:
+            #    return ''
+        time.sleep(0.02)
+
 #------------Remove-----------------------
 
 def remove(filmfolder, filmname, scene, shot, take, sceneshotortake):
@@ -928,7 +984,7 @@ def main():
 
         #MENUS
         menu = 'MIDDLEBUTTON: ','SHUTTER:', 'ISO:', 'RED:', 'BLUE:', 'BRIGHT:', 'CONT:', 'SAT:', 'FLIP:', 'BEEP:', 'LENGTH:', 'MIC:', 'PHONES:', 'DSK:', '', 'SCENE:', 'SHOT:', 'TAKE', '', ''
-        actionmenu = 'Record', 'Play', 'Copy to USB', 'Upload', 'Update', 'New Film', 'Load Film', 'Remove'
+        actionmenu = 'Record', 'Play', 'Copy to USB', 'Upload', 'Update', 'New Film', 'Load Film', 'Remove', 'Photobooth'
         
         #STANDARD VALUES
         selectedaction = 0
@@ -1093,6 +1149,15 @@ def main():
                     scene, shot, take, thefile, renderedshots, renderfullscene = happyornothappy(camera, thefile, scene, shot, take, filmfolder, filmname, foldername, filename, renderedshots, renderfullscene, tarinafolder)
                 savesetting(camera.brightness, camera.contrast, camera.saturation, camera.shutter_speed, camera.iso, camera.awb_mode, camera.awb_gains, awb_lock, miclevel, headphoneslevel, filmfolder, filmname, scene, shot, take, thefile, beeps, flip, renderedshots)
 
+            #PHOTOBOOTH
+            elif pressed == 'middle' and selectedaction == 8:
+                thefile = filmfolder + filmname + '/' + 'scene' + str(scene).zfill(3) + '/' + filename 
+                timelapsefolder = filmfolder + filmname + '/' + 'scene' + str(scene).zfill(3) + '/' + 'timelapse' + str(shot).zfill(2) + str(take).zfill(2)
+                thefile = photobooth(beeps, camera, filmfolder, filmname, scene, shot, take, filename)
+                if thefile != '':
+                    scene, shot, take, thefile, renderedshots, renderfullscene = happyornothappy(camera, thefile, scene, shot, take, filmfolder, filmname, foldername, filename, renderedshots, renderfullscene, tarinafolder)
+                savesetting(camera.brightness, camera.contrast, camera.saturation, camera.shutter_speed, camera.iso, camera.awb_mode, camera.awb_gains, awb_lock, miclevel, headphoneslevel, filmfolder, filmname, scene, shot, take, thefile, beeps, flip, renderedshots)
+
             #PLAY
             elif pressed == 'middle' and selectedaction == 1 and selected == 16 or pressed == 'middle' and selectedaction == 1 and selected == 17:
                 if recording == False: