commit 50124959a28e5db290d3ebbd13e9b50e44ebe750
parent e1ca3079982a767a57649bf79f5a280554147165
Author: rbckman <rob@tarina.org>
Date: Sun, 7 Dec 2025 21:46:38 +0200
own stop start preview
Diffstat:
| M | gonzopi.py | | | 84 | ++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- |
1 file changed, 55 insertions(+), 29 deletions(-)
diff --git a/gonzopi.py b/gonzopi.py
@@ -485,7 +485,7 @@ def main():
vumetermessage('press middlebutton to cancel')
if len(filmfiles) > 0:
removeimage(camera, overlay)
- camera = stopcamera(camera, rec_process)
+ camera = stopcamera_preview(camera)
#Check if rendered video exist
#renderfilename, newaudiomix = renderscene(filmfolder, filmname, scene)
renderfilename = renderfilm(filmfolder, filmname, comp, scene)
@@ -502,8 +502,8 @@ def main():
# time.sleep(0.5)
#else:
# print('nothing to remove')
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
else:
vumetermessage("There's absolutely nothing in this scene! hit rec!")
updatethumb=True
@@ -516,14 +516,14 @@ def main():
vumetermessage('press middlebutton to cancel')
if len(filmfiles) > 0:
removeimage(camera, overlay)
- camera = stopcamera(camera, rec_process)
+ camera = stopcamera_preview(camera)
#removeimage(camera, overlay)
renderfilename = renderfilm(filmfolder, filmname, comp, 0)
#camera = stopcamera(camera, rec_process)
if renderfilename != '':
remove_shots = playdub(filmname,renderfilename, 'film',take)
#overlay = displayimage(camera, imagename, overlay, 3)
- camera = startcamera(camera)
+ camera = startcamera_preview(camera)
loadfilmsettings = True
else:
vumetermessage('wow, shoot first! there is zero, nada, zip footage to watch now... just hit rec!')
@@ -538,7 +538,7 @@ def main():
vumetermessage('press middlebutton to cancel')
writemessage('Loading clip...')
removeimage(camera, overlay)
- camera = stopcamera(camera, rec_process)
+ camera = stopcamera_preview(camera)
organize(filmfolder, filmname)
foldername = filmfolder + filmname + '/scene' + str(scene).zfill(3) +'/shot' + str(shot).zfill(3) + '/'
filename = 'take' + str(take).zfill(3)
@@ -568,8 +568,8 @@ def main():
writemessage('Cutting clip...')
videotrimsave(foldername, 'beginning', trim[0], filename)
imagename = foldername + filename + '.jpeg'
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
overlay = displayimage(camera, imagename, overlay, 3)
else:
#vumetermessage('nothing here! hit rec!')
@@ -653,7 +653,7 @@ def main():
newdub, yanked = clipsettings(filmfolder, filmname, scene, shot, take, plughw,yanked)
take = counttakes(filmname, filmfolder, scene, shot)
if newdub:
- camera = stopcamera(camera, rec_process)
+ camera = stopcamera_preview(camera)
#save original sound
dubfolder = filmfolder + filmname + '/scene' + str(scene).zfill(3) + '/shot' + str(shot).zfill(3) + '/dub/'
saveoriginal = filmfolder + filmname + '/scene' + str(scene).zfill(3) + '/shot' + str(shot).zfill(3) + '/take'+str(take).zfill(3)+'.wav'
@@ -684,8 +684,8 @@ def main():
#rerender audio
#run_command('rm '+filmfolder+'.tmp/dub.wav')
os.system('rm ' + filmfolder + filmname + '/.audiohash')
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
time.sleep(1)
else:
vumetermessage('see ya around!')
@@ -694,7 +694,7 @@ def main():
elif pressed == 'dub' and menu[selected] == 'SCENE:':
newdub, yanked = clipsettings(filmfolder, filmname, scene, 0, take, plughw,yanked)
if newdub:
- camera = stopcamera(camera, rec_process)
+ camera = stopcamera_preview(camera)
renderfilename, newaudiomix = renderscene(filmfolder, filmname, scene)
playdub(filmname,renderfilename, 'dub',take)
#run_command('sox -V0 -G /dev/shm/dub.wav -c 2 ' + newdub)
@@ -712,8 +712,8 @@ def main():
vumetermessage('new scene dubbing made!')
#rerender audio
os.system('rm ' + filmfolder + filmname + '/.audiohash')
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
time.sleep(1)
else:
vumetermessage('see ya around!')
@@ -722,7 +722,7 @@ def main():
elif pressed == 'dub' and menu[selected] == 'FILM:':
newdub, yanked = clipsettings(filmfolder, filmname, 0, 0, take, plughw,yanked)
if newdub:
- camera = stopcamera(camera, rec_process)
+ camera = stopcamera_preview(camera)
renderfilename = renderfilm(filmfolder, filmname, comp, 0)
playdub(filmname,renderfilename, 'dub',take)
videos_totalt = db.query("SELECT COUNT(*) AS videos FROM videos")[0]
@@ -732,8 +732,8 @@ def main():
os.system('ln -sfr '+filmfolder+'.videos/'+audio_origins+'.wav '+newdub)
run_command('rm '+filmfolder+'.tmp/dub.wav')
vumetermessage('new film dubbing made!')
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
time.sleep(1)
else:
vumetermessage('see ya around!')
@@ -756,8 +756,8 @@ def main():
except:
logger.warning('uploadfilm bugging')
startinterface()
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
loadfilmsettings = True
selectedaction = 0
rendermenu = True
@@ -799,8 +799,8 @@ def main():
stopinterface(camera)
gonzopiversion, gonzopivername = update(gonzopiversion, gonzopivername)
startinterface()
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
selectedaction = 0
rendermenu = True
#WIFI
@@ -808,8 +808,8 @@ def main():
stopinterface(camera)
run_command('wicd-curses')
startinterface()
- camera = startcamera(camera)
- loadfilmsettings = True
+ camera = startcamera_preview(camera)
+ #loadfilmsettings = True
rendermenu = True
#NEW FILM
elif pressed == 'middle' and menu[selected] == 'NEW' or filmname == '' or pressed == 'new_film':
@@ -838,9 +838,9 @@ def main():
newfilmname = ''
#film_reso, film_fps = film_settings()
#stop()
- camera = stopcamera(camera, rec_process)
- camera = startcamera(camera)
- loadfilmsettings = True
+ #camera = stopcamera_preview(camera)
+ #camera = startcamera_preview(camera)
+ #loadfilmsettings = True
else:
print(term.clear)
filmname = newfilmname
@@ -1097,7 +1097,7 @@ def main():
stopinterface(camera)
code.interact(local=locals())
startinterface()
- camera = startcamera(camera)
+ camera = startcamera_preview(camera)
loadfilmsetings = True
except:
writemessage('hmm.. couldnt enter developer mode')
@@ -1281,7 +1281,7 @@ def main():
time.sleep(1)
logger.info('sending syncdone again...')
startinterface()
- camera = startcamera(camera)
+ camera = startcamera_preview(camera)
loadfilmsettings = True
rendermenu = True
elif 'SYNCDONE:' in pressed:
@@ -1314,7 +1314,7 @@ def main():
# time.sleep(3)
# a=a+1
startinterface()
- camera = startcamera(camera)
+ camera = startcamera_preview(camera)
loadfilmsettings = True
rendermenu = True
vumetermessage('SYNC DONE!')
@@ -7641,6 +7641,32 @@ def startcamera(camera):
camera.start_recording('/dev/null', format='h264', level=profilelevel, intra_period=5, quality = quality) # back to hot standby
return camera
+def startcamera_preview(camera):
+ global bitrate, quality, profilelevel
+ if camera.recording == True:
+ camera.stop_recording()
+ try:
+ camera.start_preview()
+ except:
+ print('no preview')
+ camera.start_recording('/dev/null', format='h264', level=profilelevel, intra_period=5, quality = quality) # back to hot standby
+ return camera
+
+def stopcamera_preview(camera):
+ if camera.recording == True:
+ camera.stop_recording()
+ try:
+ camera.stop_preview()
+ except:
+ print('no preview')
+ #camera.split_recording('/dev/null', format='h264', level=profilelevel, intra_period=5, bitrate = bitrate) # back to hot standby
+ #camera.split_recording('/dev/null', format='h264', level=profilelevel, intra_period=5, quality = quality) # back to hot standby
+ # Close the FFmpeg process
+ #time.sleep(0.5)
+ #rec_process.wait()
+ print("Camera preview stopped")
+ return camera
+
def stopcamera(camera, rec_process):
global bitrate, quality, profilelevel
camera.stop_recording()