tarinactrl

git clone https://git.tarina.org/tarinactrl
Log | Files | Refs

commit 172675edb1ce5689b9b9ca4c0aadfcf16db386a5
parent 8d64c8a3d6c734b771d0a56cd56bb2c4e33484a3
Author: rob <rob@tarina.org>
Date:   Thu, 24 Aug 2023 14:58:16 +0300

do it!

Diffstat:
Mtarinactrl.py | 85+++++++++++++++++++++++++++++++++++++++++--------------------------------------
1 file changed, 44 insertions(+), 41 deletions(-)

diff --git a/tarinactrl.py b/tarinactrl.py @@ -25,6 +25,9 @@ for adapter in adapters: networks.append(ip.ip) network=networks[0] + +##--Cameras--- + cameras = [] camerasoff =[] port = config.port @@ -35,7 +38,7 @@ selected = 1 camselected=0 newselected=0 mastersound=None -recording=None +camera_recording=None sleep=0.2 rectime=None pingip=0 @@ -47,18 +50,18 @@ def pingtocamera(host, port, data): print("Sending to "+host+" on port "+str(port)+" DATA:"+data) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(0.1) + newcamera='' try: while True: s.connect((host, port)) s.send(str.encode(data)) - if host not in cameras and host not in networks: - cameras.append(host) - print("Found camera! "+host) + newcamera=host print("Sent to server..") break except: print('did not connect') s.close() + return newcamera def sendtocamera(host, port, data): print("Sending to "+host+" on port "+str(port)+" DATA:"+data) @@ -98,7 +101,7 @@ def listenforclients(host, port, q): except: q.put('') -def printmenu(recording,selected,cameras,camselected,serverstatus,rectime): +def printmenu(camera_recording,selected,cameras,camselected,serverstatus,rectime): print(term.home+term.clear) print(time.time()) print(rectime) @@ -112,8 +115,8 @@ def printmenu(recording,selected,cameras,camselected,serverstatus,rectime): print(serverstatus[1]) except: print('') - if recording != None: - print("Camera "+ str(recording)+" is recording! Shut up. And Action!") + if camera_recording != None: + print("Camera "+ str(camera_recording)+" is camera_recording! Shut up. And Action!") a=0 print('-~-') for i in menu: @@ -141,8 +144,8 @@ def printmenu(recording,selected,cameras,camselected,serverstatus,rectime): ##----------------------Main loop starts------------------------- def main(serverstatus): - global nextstatus, selected, cameras, menu, camselected, recording, sleep, rectime, pingip,searchforcameras - if recording != None: + global nextstatus, selected, cameras, menu, camselected, camera_recording, sleep, rectime, pingip,searchforcameras + if camera_recording != None: menu = ["Quit","New FILM","Sync FILM","New SCENE","Sync SCENE","Stop","Retake","Search","Snapshot"] else: menu = ["Quit","New FILM","Sync FILM","New SCENE","Sync SCENE","Record","Retake","Search","Snapshot"] @@ -186,20 +189,20 @@ def main(serverstatus): for i in cameras: if i not in camerasoff: if a == camselected: - if recording == camselected: + if camera_recording == camselected: sendtocamera(i,port,'STOPRETAKE') - recording=None + camera_recording=None else: sendtocamera(i,port,'RETAKE') - recording=camselected + camera_recording=camselected else: - if recording != None: + if camera_recording != None: sendtocamera(i,port,'PLACEHOLDER') a=a+1 elif event == "KEY_ENTER" and menu[selected] == 'Sync SCENE': #for p in cameras[1:]: # if p not in camerasoff: - # if recording == None: + # if camera_recording == None: # sendtocamera(cameras[0],port,'SYNCIP:'+p) if camselected != 0: sendtocamera(cameras[0],port,'SYNCIP:'+cameras[camselected]) @@ -215,43 +218,39 @@ def main(serverstatus): if i not in camerasoff: sendtocamera(i,port,'PING') a=a+1 - elif event == "KEY_PGUP" and recording == None or event=="KEY_ENTER" and menu[selected]=='Record': + elif event == "KEY_PGUP" and camera_recording == None or event=="KEY_ENTER" and menu[selected]=='Record': a=0 for i in cameras: if i not in camerasoff: if a == camselected: - if recording == camselected: - sendtocamera(i,port,'STOP') - recording=None - else: - sendtocamera(i,port,'REC') - recording=camselected - rectime=time.time() - elif a == mastersound: - if recording == a: - sendtocamera(i,port,'STOP') - else: - sendtocamera(i,port,'RECSOUND') - #if recording != mastersound: - # time.sleep(sleep) - # sendtocamera(i,port,'RECSOUND') + sendtocamera(i,port,'REC') + camera_recording=camselected + rectime=time.time() + #elif a == mastersound: + # if camera_recording == a: + # sendtocamera(i,port,'STOP') + # else: + # sendtocamera(i,port,'RECSOUND') + # if camera_recording != mastersound: + # time.sleep(sleep) + # sendtocamera(i,port,'RECSOUND') else: sendtocamera(i,port,'PLACEHOLDER') a=a+1 - elif event == "KEY_PGUP" and recording or event=="KEY_ENTER" and menu[selected]=='Stop': + elif event == "KEY_PGUP" and camera_recording or event=="KEY_ENTER" and menu[selected]=='Stop': a=0 for i in cameras: if i not in camerasoff: if a == camselected: - if recording == camselected: + if camera_recording == camselected: sendtocamera(i,port,'STOP') - recording=None + camera_recording=None elif a == mastersound: - if recording == a: + if camera_recording == a: sendtocamera(i,port,'STOP') else: sendtocamera(i,port,'RECSOUND') - #if recording != mastersound: + #if camera_recording != mastersound: # time.sleep(sleep) # sendtocamera(i,port,'RECSOUND') #else: @@ -275,7 +274,7 @@ def main(serverstatus): if cameras[camselected] in camerasoff: camerasoff.remove(cameras[camselected]) if camselected != newselected: - if recording != None: + if camera_recording != None: #change camera a=0 for c in cameras: @@ -295,7 +294,7 @@ def main(serverstatus): sendtocamera(c,port,'STOP') time.sleep(sleep) sendtocamera(c,port,'REC') - recording=newselected + camera_recording=newselected rectime=time.time() else: if a == mastersound: @@ -310,16 +309,20 @@ def main(serverstatus): a=a+1 camselected=newselected - # ping ip every 10 sec while not recording to connect cameras + # ping ip every 10 sec while not camera_recording to connect cameras if searchforcameras == True: - if recording == None: + if camera_recording == None: if pingip < 256: pingip+=1 else: pingip=0 searchforcameras=False - pingtocamera(network[:-3]+str(pingip),port,'PING') - printmenu(recording,selected,cameras,camselected,serverstatus,rectime) + newcamera=pingtocamera(network[:-3]+str(pingip),port,'PING') + if newcamera != '': + if newcamera not in cameras and newcamera not in networks: + cameras.append(newcamera) + print("Found camera! "+newcamera) + printmenu(camera_recording,selected,cameras,camselected,serverstatus,rectime) if searchforcameras == True: print('-~-') print('pinging ip: '+network[:-3]+str(pingip))