pydmxcontroller

This commit is contained in:
CAMP 2024-08-07 17:27:25 +05:30
commit 5b5ae65ca8
18 changed files with 8785 additions and 0 deletions

84
README.md Normal file
View File

@ -0,0 +1,84 @@
Play LED light sequences from csv. Control LED lights using PyDMXControl
Install...
https://github.com/MattIPv4/PyDMXControl/tree/master
Calc fields / Variables:
# seq -> "sequence" = position (seconds) on 'timeline' starting 0
# fadein / fadeout (milliseconds) [optional/default]
# duration (seconds)
# brightness -> 0-255 (optional, else default) [optional/default]
# "channel" --> LED/channel identifier, order as connected to DMX decoder
(channel = name | opendmxcontroller calls fixtures "by_name")
- channels are sequential and fixed
- blank channels also must be added to dmx..()
## Map channels:
(play one at a time, wait for input)
$ python3 mapchannels.py
# run sequence:
- $ python3 sequence.py
# run sequence from START cell (not from t=0):
- $ python3 zztest_sequence.py
## debug:
(play single channel only and exit)
$ python3 playsingle.py <channel/name>
_____
*** EDIT ("seq", "duration", optional "brightness") and play sequence:
- edit local or online calc/csv
# get csv -> sequence.json
- $ python3 getspread.py
- restart service
- OR edit in json, save, restart service
_____
# check script output:
$ tmux a
or
$ tmux a -t light
---
lights.service runs sequence.py in a tmux session called "light"
(Run outside tmux)
# start/stop/restart service now
sudo systemctl <start/stop/restart> lights.service
# enable/disable service on boot
sudo systemctl <enable/disable> lights.service
# check status
systemctl status lights.service
---
*dev* service script:
xetc_systemd_system -> lights.service
edit here if required, and copy to /etc/systemd/system
-------
DMX512 decoder 24channel color - Dip Switch positions = start channel no. ... (for daisy chain)
(dip switch positions) ( <-- binary. ** Right to Left for dipsw positions)
- board#1: 1-24 | all 'off' (0) | 0
- board#2: 25-48 | 1,4,5 - ON (1) | 11001
- board#3: 49-72 | 1,5,6 - ON | 110001
- board#4: 73-...| 1,4,7 - ON | 1001001
____

71
getseq/getspread.py Executable file
View File

@ -0,0 +1,71 @@
#!/usr/bin/python3
import io
import os
import csv
import json
import requests
import subprocess
#PLAYLIGHTS = 'https://calc...'
PLAYLIGHTS = 'some.csv'
# get lights from online / local CSV, convert to JSON
# saves ledisndh.csv and converts to sequence.json
pathbase = os.path.expanduser("~/bin/dmx")
def row2dict(csvrow):
thisLED = {"channel": csvrow["channel"]}
if csvrow["seq (position on timeline in seconds)"]:
thisLED["seq"] = int(csvrow["seq (position on timeline in seconds)"])
if csvrow["duration (sec)"]:
thisLED["duration"] = int(csvrow["duration (sec)"])
if csvrow["brightness (optional)"]:
thisLED["brightness"] = int(csvrow["brightness (optional)"])
if csvrow["fadein_opt (ms)"]:
thisLED["fadein"] = int(csvrow["fadein_opt (ms)"])
if csvrow["fadeout_opt (ms)"]:
thisLED["fadeout"] = int(csvrow["fadeout_opt (ms)"])
if csvrow["start_opt"] and csvrow["start_opt"].lower().strip() == "start":
thisLED["start_opt"] = "start"
return(thisLED)
# convert csv to json
def update_playlights():
playlights = []
if PLAYLIGHTS.startswith('http'):
print(f"\n - Getting CSV from {PLAYLIGHTS.replace('.csv','')} ...")
calc_content = requests.get(PLAYLIGHTS, timeout=5).text
# get, save CSV from calc.thing
csv_file = f"{pathbase}/getseq/{os.path.basename(PLAYLIGHTS)}"
with open(csv_file,'w') as f:
f.write(calc_content)
print(f"\n - Converting local CSV file {PLAYLIGHTS.split('/')[-1]} ...")
# convert CSV from local file
with open(csv_file, newline='') as cf:
reader = csv.DictReader(cf)
for row in reader:
if row['channel'] == '':
continue
# convert row to dict
thisLED = row2dict(row)
# append it to list of all LEDs (channels)
playlights.append(thisLED)
return playlights
playlights = update_playlights()
# backup current sequence.json
count = 1
backup = f"{pathbase}/getseq/seqbakup/sequence.{count}.json"
while os.path.exists(backup):
count += 1
backup = f"{pathbase}/getseq/seqbakup/sequence.{count}.json"
print(f"\n - Backup last sequence.json: {backup}")
subprocess.call(['mv', f"{pathbase}/sequence.json", backup])
# write local JSON file
with open(f"{pathbase}/sequence.json", 'w') as f:
json.dump(playlights, f, indent=2)
print(f" - Updated sequence: {pathbase}/sequence.json\n ___\n")

View File

@ -0,0 +1,864 @@
[
{
"channel": "10hardevi",
"seq": 0,
"duration": 5,
"fadein": 0
},
{
"channel": "35parsramz",
"seq": 10,
"duration": 280
},
{
"channel": "50masterc",
"seq": 60,
"duration": 230
},
{
"channel": "44arjunh",
"seq": 110,
"duration": 180
},
{
"channel": "53narish",
"seq": 170,
"duration": 120
},
{
"channel": "22krishnas",
"seq": 295,
"duration": 215
},
{
"channel": "25rameshs",
"seq": 350,
"duration": 160
},
{
"channel": "31sureshs",
"seq": 515,
"duration": 9
},
{
"channel": "53narish",
"seq": 515,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 515,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 526,
"duration": 3
},
{
"channel": "41kamluj",
"seq": 526,
"duration": 3
},
{
"channel": "32arjan",
"seq": 526,
"duration": 3
},
{
"channel": "22krishnas",
"seq": 526,
"duration": 3
},
{
"channel": "31sureshs",
"seq": 526,
"duration": 184
},
{
"channel": "46bhaskars",
"seq": 580,
"duration": 130
},
{
"channel": "43mohank",
"seq": 715,
"duration": 245
},
{
"channel": "59narayanb",
"seq": 780,
"duration": 180
},
{
"channel": "07prahladc",
"seq": 850,
"duration": 110
},
{
"channel": "11govindbajaj",
"seq": 965,
"duration": 6
},
{
"channel": "17narak",
"seq": 965,
"duration": 6
},
{
"channel": "52ludib",
"seq": 965,
"duration": 6
},
{
"channel": "47gopalj",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 973,
"duration": 4
},
{
"channel": "47gopalj",
"seq": 973,
"duration": 4
},
{
"channel": "11govindbajaj",
"seq": 973,
"duration": 4
},
{
"channel": "52ludib",
"seq": 973,
"duration": 4
},
{
"channel": "17narak",
"seq": 973,
"duration": 237
},
{
"channel": "13hardasm",
"seq": 1070,
"duration": 240
},
{
"channel": "28gary",
"seq": 1170,
"duration": 140
},
{
"channel": "14hiralalbora",
"seq": 1220,
"duration": 90
},
{
"channel": "08bhaup",
"seq": 1315,
"duration": 8
},
{
"channel": "58drdharm",
"seq": 1315,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 1315,
"duration": 8
},
{
"channel": "29satid",
"seq": 1315,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 1315,
"duration": 8
},
{
"channel": "04baldevm",
"seq": 1315,
"duration": 8
},
{
"channel": "28gary",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1315,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1324,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 1324,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 1324,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 1324,
"duration": 2
},
{
"channel": "29satid",
"seq": 1324,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 1324,
"duration": 2
},
{
"channel": "28gary",
"seq": 1324,
"duration": 2
},
{
"channel": "04baldevm",
"seq": 1324,
"duration": 136
},
{
"channel": "58drdharm",
"seq": 1324,
"duration": 136
},
{
"channel": "16leelac",
"seq": 1465,
"duration": 140
},
{
"channel": "49rameshm",
"seq": 1530,
"duration": 290
},
{
"channel": "56nandc",
"seq": 1605,
"duration": 215
},
{
"channel": "55sundard",
"seq": 1680,
"duration": 140
},
{
"channel": "34murijm",
"seq": 1740,
"duration": 80
},
{
"channel": "08bhaup",
"seq": 1825,
"duration": 150
},
{
"channel": "02thakurc",
"seq": 1890,
"duration": 85
},
{
"channel": "38harchomal",
"seq": 1980,
"duration": 170
},
{
"channel": "19hemantr",
"seq": 2040,
"duration": 110
},
{
"channel": "28gary",
"seq": 2110,
"duration": 160
},
{
"channel": "55sundard",
"seq": 2170,
"duration": 100
},
{
"channel": "26hrat",
"seq": 2275,
"duration": 3
},
{
"channel": "20nrat",
"seq": 2275,
"duration": 3
},
{
"channel": "26hrat",
"seq": 2280,
"duration": 160
},
{
"channel": "20nrat",
"seq": 2350,
"duration": 90
},
{
"channel": "52ludib",
"seq": 2445,
"duration": 145
},
{
"channel": "11govindbajaj",
"seq": 2520,
"duration": 100
},
{
"channel": "50masterc",
"seq": 2625,
"duration": 240
},
{
"channel": "35parsramz",
"seq": 2670,
"duration": 195
},
{
"channel": "44arjunh",
"seq": 2745,
"duration": 120
},
{
"channel": "31sureshs",
"seq": 2870,
"duration": 9
},
{
"channel": "32arjan",
"seq": 2870,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 2870,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2880,
"duration": 4
},
{
"channel": "41kamluj",
"seq": 2880,
"duration": 4
},
{
"channel": "32arjan",
"seq": 2880,
"duration": 150
},
{
"channel": "22krishnas",
"seq": 2880,
"duration": 4
},
{
"channel": "31sureshs",
"seq": 2880,
"duration": 4
},
{
"channel": "10hardevi",
"seq": 2950,
"duration": 125
},
{
"channel": "01sunild",
"seq": 2950,
"duration": 125
},
{
"channel": "31sureshs",
"seq": 3080,
"duration": 120
},
{
"channel": "46bhaskars",
"seq": 3080,
"duration": 120
},
{
"channel": "58drdharm",
"seq": 3205,
"duration": 110
},
{
"channel": "22krishnas",
"seq": 3275,
"duration": 135
},
{
"channel": "25rameshs",
"seq": 3300,
"duration": 110
},
{
"channel": "37leenam",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3415,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3415,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3415,
"duration": 3
},
{
"channel": "53narish",
"seq": 3415,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3419,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3419,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3419,
"duration": 3
},
{
"channel": "53narish",
"seq": 3419,
"duration": 3
},
{
"channel": "37leenam",
"seq": 3419,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3419,
"duration": 241
},
{
"channel": "56nandc",
"seq": 3470,
"duration": 190
},
{
"channel": "17narak",
"seq": 3530,
"duration": 130
},
{
"channel": "55sundard",
"seq": 3600,
"duration": 60
},
{
"channel": "08bhaup",
"seq": 3665,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 3665,
"duration": 8
},
{
"channel": "29satid",
"seq": 3665,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 3665,
"duration": 8
},
{
"channel": "28gary",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3665,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3674,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 3674,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 3674,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 3674,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 3674,
"duration": 2
},
{
"channel": "28gary",
"seq": 3674,
"duration": 2
},
{
"channel": "29satid",
"seq": 3674,
"duration": 156
},
{
"channel": "23gopim",
"seq": 3730,
"duration": 100
},
{
"channel": "19hemantr",
"seq": 3780,
"duration": 70
},
{
"channel": "37leenam",
"seq": 3855,
"duration": 85
},
{
"channel": "26hrat",
"seq": 3945,
"duration": 165
},
{
"channel": "20nrat",
"seq": 3990,
"duration": 120
},
{
"channel": "41kamluj",
"seq": 4060,
"duration": 190,
"start_opt": "start"
},
{
"channel": "02thakurc",
"seq": 4140,
"duration": 110
},
{
"channel": "34murijm",
"seq": 4210,
"duration": 175
},
{
"channel": "53narish",
"seq": 4270,
"duration": 115
},
{
"channel": "35parsramz",
"seq": 4540,
"duration": 100
},
{
"channel": "56nandc",
"seq": 4540,
"duration": 100
},
{
"channel": "59narayanb",
"seq": 4600,
"duration": 140
},
{
"channel": "04baldevm",
"seq": 4640,
"duration": 100
},
{
"channel": "32arjan",
"seq": 4745,
"duration": 225
},
{
"channel": "40sevarab",
"seq": 4800,
"duration": 170
},
{
"channel": "28gary",
"seq": 4850,
"duration": 120
},
{
"channel": "01sunild",
"seq": 4980,
"duration": 130
},
{
"channel": "10hardevi",
"seq": 5020,
"duration": 100
},
{
"channel": "47gopalj"
},
{
"channel": "01sunild"
},
{
"channel": "02thakurc"
},
{
"channel": "03bl"
},
{
"channel": "04baldevm"
},
{
"channel": "05ramchandr"
},
{
"channel": "06bl"
},
{
"channel": "07prahladc"
},
{
"channel": "08bhaup"
},
{
"channel": "09bl"
},
{
"channel": "10hardevi"
},
{
"channel": "11govindbajaj"
},
{
"channel": "12bl"
},
{
"channel": "13hardasm"
},
{
"channel": "14hiralalbora"
},
{
"channel": "15bl"
},
{
"channel": "16leelac"
},
{
"channel": "17narak"
},
{
"channel": "18bl"
},
{
"channel": "19hemantr"
},
{
"channel": "20nrat"
},
{
"channel": "21bl"
},
{
"channel": "22krishnas"
},
{
"channel": "23gopim"
},
{
"channel": "24bl"
},
{
"channel": "25rameshs"
},
{
"channel": "26hrat"
},
{
"channel": "27bl"
},
{
"channel": "28gary"
},
{
"channel": "29satid"
},
{
"channel": "30bl"
},
{
"channel": "31sureshs"
},
{
"channel": "32arjan"
},
{
"channel": "33bl"
},
{
"channel": "34murijm"
},
{
"channel": "36bl"
},
{
"channel": "37leenam"
},
{
"channel": "38harchomal"
},
{
"channel": "39bl"
},
{
"channel": "40sevarab"
},
{
"channel": "41kamluj"
},
{
"channel": "42bl"
},
{
"channel": "43mohank"
},
{
"channel": "44arjunh"
},
{
"channel": "45bl"
},
{
"channel": "46bhaskars"
},
{
"channel": "47gopalj"
},
{
"channel": "48bl"
},
{
"channel": "49rameshm"
},
{
"channel": "50masterc"
},
{
"channel": "51s"
},
{
"channel": "52ludib"
},
{
"channel": "53narish"
},
{
"channel": "54s"
},
{
"channel": "55sundard"
},
{
"channel": "56nandc"
},
{
"channel": "57s"
},
{
"channel": "58drdharm"
},
{
"channel": "59narayanb"
},
{
"channel": "60s"
}
]

View File

@ -0,0 +1,864 @@
[
{
"channel": "10hardevi",
"seq": 0,
"duration": 5,
"fadein": 0
},
{
"channel": "35parsramz",
"seq": 10,
"duration": 280
},
{
"channel": "50masterc",
"seq": 60,
"duration": 230
},
{
"channel": "44arjunh",
"seq": 110,
"duration": 180
},
{
"channel": "53narish",
"seq": 170,
"duration": 120
},
{
"channel": "22krishnas",
"seq": 295,
"duration": 215
},
{
"channel": "25rameshs",
"seq": 350,
"duration": 160
},
{
"channel": "31sureshs",
"seq": 515,
"duration": 9
},
{
"channel": "53narish",
"seq": 515,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 515,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 526,
"duration": 3
},
{
"channel": "41kamluj",
"seq": 526,
"duration": 3
},
{
"channel": "32arjan",
"seq": 526,
"duration": 3
},
{
"channel": "22krishnas",
"seq": 526,
"duration": 3
},
{
"channel": "31sureshs",
"seq": 526,
"duration": 184
},
{
"channel": "46bhaskars",
"seq": 580,
"duration": 130
},
{
"channel": "43mohank",
"seq": 715,
"duration": 245
},
{
"channel": "59narayanb",
"seq": 780,
"duration": 180
},
{
"channel": "07prahladc",
"seq": 850,
"duration": 110
},
{
"channel": "11govindbajaj",
"seq": 965,
"duration": 6
},
{
"channel": "17narak",
"seq": 965,
"duration": 6
},
{
"channel": "52ludib",
"seq": 965,
"duration": 6
},
{
"channel": "47gopalj",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 973,
"duration": 4
},
{
"channel": "47gopalj",
"seq": 973,
"duration": 4
},
{
"channel": "11govindbajaj",
"seq": 973,
"duration": 4
},
{
"channel": "52ludib",
"seq": 973,
"duration": 4
},
{
"channel": "17narak",
"seq": 973,
"duration": 237
},
{
"channel": "13hardasm",
"seq": 1070,
"duration": 240
},
{
"channel": "28gary",
"seq": 1170,
"duration": 140
},
{
"channel": "14hiralalbora",
"seq": 1220,
"duration": 90
},
{
"channel": "08bhaup",
"seq": 1315,
"duration": 8
},
{
"channel": "58drdharm",
"seq": 1315,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 1315,
"duration": 8
},
{
"channel": "29satid",
"seq": 1315,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 1315,
"duration": 8
},
{
"channel": "04baldevm",
"seq": 1315,
"duration": 8
},
{
"channel": "28gary",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1315,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1324,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 1324,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 1324,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 1324,
"duration": 2
},
{
"channel": "29satid",
"seq": 1324,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 1324,
"duration": 2
},
{
"channel": "28gary",
"seq": 1324,
"duration": 2
},
{
"channel": "04baldevm",
"seq": 1324,
"duration": 136
},
{
"channel": "58drdharm",
"seq": 1324,
"duration": 136
},
{
"channel": "16leelac",
"seq": 1465,
"duration": 140
},
{
"channel": "49rameshm",
"seq": 1530,
"duration": 290
},
{
"channel": "56nandc",
"seq": 1605,
"duration": 215
},
{
"channel": "55sundard",
"seq": 1680,
"duration": 140
},
{
"channel": "34murijm",
"seq": 1740,
"duration": 80
},
{
"channel": "08bhaup",
"seq": 1825,
"duration": 150
},
{
"channel": "02thakurc",
"seq": 1890,
"duration": 85
},
{
"channel": "38harchomal",
"seq": 1980,
"duration": 170
},
{
"channel": "19hemantr",
"seq": 2040,
"duration": 110
},
{
"channel": "28gary",
"seq": 2110,
"duration": 160
},
{
"channel": "55sundard",
"seq": 2170,
"duration": 100
},
{
"channel": "26hrat",
"seq": 2275,
"duration": 3
},
{
"channel": "20nrat",
"seq": 2275,
"duration": 3
},
{
"channel": "26hrat",
"seq": 2280,
"duration": 160
},
{
"channel": "20nrat",
"seq": 2350,
"duration": 90
},
{
"channel": "52ludib",
"seq": 2445,
"duration": 145
},
{
"channel": "11govindbajaj",
"seq": 2520,
"duration": 100
},
{
"channel": "50masterc",
"seq": 2625,
"duration": 240
},
{
"channel": "35parsramz",
"seq": 2670,
"duration": 195
},
{
"channel": "44arjunh",
"seq": 2745,
"duration": 120
},
{
"channel": "31sureshs",
"seq": 2870,
"duration": 9
},
{
"channel": "32arjan",
"seq": 2870,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 2870,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2880,
"duration": 4
},
{
"channel": "41kamluj",
"seq": 2880,
"duration": 4
},
{
"channel": "32arjan",
"seq": 2880,
"duration": 150
},
{
"channel": "22krishnas",
"seq": 2880,
"duration": 4
},
{
"channel": "31sureshs",
"seq": 2880,
"duration": 4
},
{
"channel": "10hardevi",
"seq": 2950,
"duration": 125
},
{
"channel": "01sunild",
"seq": 2950,
"duration": 125
},
{
"channel": "31sureshs",
"seq": 3080,
"duration": 120
},
{
"channel": "46bhaskars",
"seq": 3080,
"duration": 120
},
{
"channel": "58drdharm",
"seq": 3205,
"duration": 110
},
{
"channel": "22krishnas",
"seq": 3275,
"duration": 135
},
{
"channel": "25rameshs",
"seq": 3300,
"duration": 110
},
{
"channel": "37leenam",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3415,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3415,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3415,
"duration": 3
},
{
"channel": "53narish",
"seq": 3415,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3419,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3419,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3419,
"duration": 3
},
{
"channel": "53narish",
"seq": 3419,
"duration": 3
},
{
"channel": "37leenam",
"seq": 3419,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3419,
"duration": 241
},
{
"channel": "56nandc",
"seq": 3470,
"duration": 190
},
{
"channel": "17narak",
"seq": 3530,
"duration": 130
},
{
"channel": "55sundard",
"seq": 3600,
"duration": 60
},
{
"channel": "08bhaup",
"seq": 3665,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 3665,
"duration": 8
},
{
"channel": "29satid",
"seq": 3665,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 3665,
"duration": 8
},
{
"channel": "28gary",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3665,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3674,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 3674,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 3674,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 3674,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 3674,
"duration": 2
},
{
"channel": "28gary",
"seq": 3674,
"duration": 2
},
{
"channel": "29satid",
"seq": 3674,
"duration": 156
},
{
"channel": "23gopim",
"seq": 3730,
"duration": 100
},
{
"channel": "19hemantr",
"seq": 3780,
"duration": 70
},
{
"channel": "37leenam",
"seq": 3855,
"duration": 85
},
{
"channel": "26hrat",
"seq": 3945,
"duration": 165
},
{
"channel": "20nrat",
"seq": 3990,
"duration": 120
},
{
"channel": "41kamluj",
"seq": 4060,
"duration": 160
},
{
"channel": "02thakurc",
"seq": 4120,
"duration": 100
},
{
"channel": "34murijm",
"seq": 4180,
"duration": 165
},
{
"channel": "53narish",
"seq": 4240,
"duration": 105
},
{
"channel": "35parsramz",
"seq": 4350,
"duration": 100,
"start_opt": "start"
},
{
"channel": "56nandc",
"seq": 4350,
"duration": 100
},
{
"channel": "59narayanb",
"seq": 4420,
"duration": 140
},
{
"channel": "04baldevm",
"seq": 4420,
"duration": 100
},
{
"channel": "32arjan",
"seq": 4745,
"duration": 225
},
{
"channel": "40sevarab",
"seq": 4800,
"duration": 170
},
{
"channel": "28gary",
"seq": 4850,
"duration": 120
},
{
"channel": "01sunild",
"seq": 4980,
"duration": 130
},
{
"channel": "10hardevi",
"seq": 5020,
"duration": 100
},
{
"channel": "47gopalj"
},
{
"channel": "01sunild"
},
{
"channel": "02thakurc"
},
{
"channel": "03bl"
},
{
"channel": "04baldevm"
},
{
"channel": "05ramchandr"
},
{
"channel": "06bl"
},
{
"channel": "07prahladc"
},
{
"channel": "08bhaup"
},
{
"channel": "09bl"
},
{
"channel": "10hardevi"
},
{
"channel": "11govindbajaj"
},
{
"channel": "12bl"
},
{
"channel": "13hardasm"
},
{
"channel": "14hiralalbora"
},
{
"channel": "15bl"
},
{
"channel": "16leelac"
},
{
"channel": "17narak"
},
{
"channel": "18bl"
},
{
"channel": "19hemantr"
},
{
"channel": "20nrat"
},
{
"channel": "21bl"
},
{
"channel": "22krishnas"
},
{
"channel": "23gopim"
},
{
"channel": "24bl"
},
{
"channel": "25rameshs"
},
{
"channel": "26hrat"
},
{
"channel": "27bl"
},
{
"channel": "28gary"
},
{
"channel": "29satid"
},
{
"channel": "30bl"
},
{
"channel": "31sureshs"
},
{
"channel": "32arjan"
},
{
"channel": "33bl"
},
{
"channel": "34murijm"
},
{
"channel": "36bl"
},
{
"channel": "37leenam"
},
{
"channel": "38harchomal"
},
{
"channel": "39bl"
},
{
"channel": "40sevarab"
},
{
"channel": "41kamluj"
},
{
"channel": "42bl"
},
{
"channel": "43mohank"
},
{
"channel": "44arjunh"
},
{
"channel": "45bl"
},
{
"channel": "46bhaskars"
},
{
"channel": "47gopalj"
},
{
"channel": "48bl"
},
{
"channel": "49rameshm"
},
{
"channel": "50masterc"
},
{
"channel": "51s"
},
{
"channel": "52ludib"
},
{
"channel": "53narish"
},
{
"channel": "54s"
},
{
"channel": "55sundard"
},
{
"channel": "56nandc"
},
{
"channel": "57s"
},
{
"channel": "58drdharm"
},
{
"channel": "59narayanb"
},
{
"channel": "60s"
}
]

View File

@ -0,0 +1,864 @@
[
{
"channel": "10hardevi",
"seq": 0,
"duration": 5,
"fadein": 0
},
{
"channel": "35parsramz",
"seq": 10,
"duration": 280
},
{
"channel": "50masterc",
"seq": 60,
"duration": 230
},
{
"channel": "44arjunh",
"seq": 110,
"duration": 180
},
{
"channel": "53narish",
"seq": 170,
"duration": 120
},
{
"channel": "22krishnas",
"seq": 295,
"duration": 215
},
{
"channel": "25rameshs",
"seq": 350,
"duration": 160
},
{
"channel": "31sureshs",
"seq": 515,
"duration": 9
},
{
"channel": "53narish",
"seq": 515,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 515,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 526,
"duration": 3
},
{
"channel": "41kamluj",
"seq": 526,
"duration": 3
},
{
"channel": "32arjan",
"seq": 526,
"duration": 3
},
{
"channel": "22krishnas",
"seq": 526,
"duration": 3
},
{
"channel": "31sureshs",
"seq": 526,
"duration": 184
},
{
"channel": "46bhaskars",
"seq": 580,
"duration": 130
},
{
"channel": "43mohank",
"seq": 715,
"duration": 245
},
{
"channel": "59narayanb",
"seq": 780,
"duration": 180
},
{
"channel": "07prahladc",
"seq": 850,
"duration": 110
},
{
"channel": "11govindbajaj",
"seq": 965,
"duration": 6
},
{
"channel": "17narak",
"seq": 965,
"duration": 6
},
{
"channel": "52ludib",
"seq": 965,
"duration": 6
},
{
"channel": "47gopalj",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 973,
"duration": 4
},
{
"channel": "47gopalj",
"seq": 973,
"duration": 4
},
{
"channel": "11govindbajaj",
"seq": 973,
"duration": 4
},
{
"channel": "52ludib",
"seq": 973,
"duration": 4
},
{
"channel": "17narak",
"seq": 973,
"duration": 237
},
{
"channel": "13hardasm",
"seq": 1070,
"duration": 240
},
{
"channel": "28gary",
"seq": 1170,
"duration": 140
},
{
"channel": "14hiralalbora",
"seq": 1220,
"duration": 90
},
{
"channel": "08bhaup",
"seq": 1315,
"duration": 8
},
{
"channel": "58drdharm",
"seq": 1315,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 1315,
"duration": 8
},
{
"channel": "29satid",
"seq": 1315,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 1315,
"duration": 8
},
{
"channel": "04baldevm",
"seq": 1315,
"duration": 8
},
{
"channel": "28gary",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1315,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1324,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 1324,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 1324,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 1324,
"duration": 2
},
{
"channel": "29satid",
"seq": 1324,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 1324,
"duration": 2
},
{
"channel": "28gary",
"seq": 1324,
"duration": 2
},
{
"channel": "04baldevm",
"seq": 1324,
"duration": 136
},
{
"channel": "58drdharm",
"seq": 1324,
"duration": 136
},
{
"channel": "16leelac",
"seq": 1465,
"duration": 140
},
{
"channel": "49rameshm",
"seq": 1530,
"duration": 290
},
{
"channel": "56nandc",
"seq": 1605,
"duration": 215
},
{
"channel": "55sundard",
"seq": 1680,
"duration": 140
},
{
"channel": "34murijm",
"seq": 1740,
"duration": 80
},
{
"channel": "08bhaup",
"seq": 1825,
"duration": 150
},
{
"channel": "02thakurc",
"seq": 1890,
"duration": 85
},
{
"channel": "38harchomal",
"seq": 1980,
"duration": 170
},
{
"channel": "19hemantr",
"seq": 2040,
"duration": 110
},
{
"channel": "28gary",
"seq": 2110,
"duration": 160
},
{
"channel": "55sundard",
"seq": 2170,
"duration": 100
},
{
"channel": "26hrat",
"seq": 2275,
"duration": 3
},
{
"channel": "20nrat",
"seq": 2275,
"duration": 3
},
{
"channel": "26hrat",
"seq": 2280,
"duration": 160
},
{
"channel": "20nrat",
"seq": 2350,
"duration": 90
},
{
"channel": "52ludib",
"seq": 2445,
"duration": 145
},
{
"channel": "11govindbajaj",
"seq": 2520,
"duration": 100
},
{
"channel": "50masterc",
"seq": 2625,
"duration": 240
},
{
"channel": "35parsramz",
"seq": 2670,
"duration": 195
},
{
"channel": "44arjunh",
"seq": 2745,
"duration": 120
},
{
"channel": "31sureshs",
"seq": 2870,
"duration": 9
},
{
"channel": "32arjan",
"seq": 2870,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 2870,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2880,
"duration": 4
},
{
"channel": "41kamluj",
"seq": 2880,
"duration": 4
},
{
"channel": "32arjan",
"seq": 2880,
"duration": 150
},
{
"channel": "22krishnas",
"seq": 2880,
"duration": 4
},
{
"channel": "31sureshs",
"seq": 2880,
"duration": 4
},
{
"channel": "10hardevi",
"seq": 2950,
"duration": 125
},
{
"channel": "01sunild",
"seq": 2950,
"duration": 125
},
{
"channel": "31sureshs",
"seq": 3080,
"duration": 120
},
{
"channel": "46bhaskars",
"seq": 3080,
"duration": 120
},
{
"channel": "58drdharm",
"seq": 3205,
"duration": 110
},
{
"channel": "22krishnas",
"seq": 3275,
"duration": 135
},
{
"channel": "25rameshs",
"seq": 3300,
"duration": 110
},
{
"channel": "37leenam",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3415,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3415,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3415,
"duration": 3
},
{
"channel": "53narish",
"seq": 3415,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3419,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3419,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3419,
"duration": 3
},
{
"channel": "53narish",
"seq": 3419,
"duration": 3
},
{
"channel": "37leenam",
"seq": 3419,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3419,
"duration": 241
},
{
"channel": "56nandc",
"seq": 3470,
"duration": 190
},
{
"channel": "17narak",
"seq": 3530,
"duration": 130
},
{
"channel": "55sundard",
"seq": 3600,
"duration": 60
},
{
"channel": "08bhaup",
"seq": 3665,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 3665,
"duration": 8
},
{
"channel": "29satid",
"seq": 3665,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 3665,
"duration": 8
},
{
"channel": "28gary",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3665,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3674,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 3674,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 3674,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 3674,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 3674,
"duration": 2
},
{
"channel": "28gary",
"seq": 3674,
"duration": 2
},
{
"channel": "29satid",
"seq": 3674,
"duration": 156
},
{
"channel": "23gopim",
"seq": 3730,
"duration": 100
},
{
"channel": "19hemantr",
"seq": 3780,
"duration": 70
},
{
"channel": "37leenam",
"seq": 3855,
"duration": 85
},
{
"channel": "26hrat",
"seq": 3945,
"duration": 165
},
{
"channel": "20nrat",
"seq": 3990,
"duration": 120
},
{
"channel": "41kamluj",
"seq": 4060,
"duration": 160
},
{
"channel": "02thakurc",
"seq": 4120,
"duration": 100
},
{
"channel": "34murijm",
"seq": 4180,
"duration": 165
},
{
"channel": "53narish",
"seq": 4240,
"duration": 105
},
{
"channel": "35parsramz",
"seq": 4350,
"duration": 100
},
{
"channel": "56nandc",
"seq": 4350,
"duration": 100
},
{
"channel": "59narayanb",
"seq": 4420,
"duration": 100,
"start_opt": "start"
},
{
"channel": "04baldevm",
"seq": 4420,
"duration": 100
},
{
"channel": "32arjan",
"seq": 4745,
"duration": 225
},
{
"channel": "40sevarab",
"seq": 4800,
"duration": 170
},
{
"channel": "28gary",
"seq": 4850,
"duration": 120
},
{
"channel": "01sunild",
"seq": 4980,
"duration": 130
},
{
"channel": "10hardevi",
"seq": 5020,
"duration": 100
},
{
"channel": "47gopalj"
},
{
"channel": "01sunild"
},
{
"channel": "02thakurc"
},
{
"channel": "03bl"
},
{
"channel": "04baldevm"
},
{
"channel": "05ramchandr"
},
{
"channel": "06bl"
},
{
"channel": "07prahladc"
},
{
"channel": "08bhaup"
},
{
"channel": "09bl"
},
{
"channel": "10hardevi"
},
{
"channel": "11govindbajaj"
},
{
"channel": "12bl"
},
{
"channel": "13hardasm"
},
{
"channel": "14hiralalbora"
},
{
"channel": "15bl"
},
{
"channel": "16leelac"
},
{
"channel": "17narak"
},
{
"channel": "18bl"
},
{
"channel": "19hemantr"
},
{
"channel": "20nrat"
},
{
"channel": "21bl"
},
{
"channel": "22krishnas"
},
{
"channel": "23gopim"
},
{
"channel": "24bl"
},
{
"channel": "25rameshs"
},
{
"channel": "26hrat"
},
{
"channel": "27bl"
},
{
"channel": "28gary"
},
{
"channel": "29satid"
},
{
"channel": "30bl"
},
{
"channel": "31sureshs"
},
{
"channel": "32arjan"
},
{
"channel": "33bl"
},
{
"channel": "34murijm"
},
{
"channel": "36bl"
},
{
"channel": "37leenam"
},
{
"channel": "38harchomal"
},
{
"channel": "39bl"
},
{
"channel": "40sevarab"
},
{
"channel": "41kamluj"
},
{
"channel": "42bl"
},
{
"channel": "43mohank"
},
{
"channel": "44arjunh"
},
{
"channel": "45bl"
},
{
"channel": "46bhaskars"
},
{
"channel": "47gopalj"
},
{
"channel": "48bl"
},
{
"channel": "49rameshm"
},
{
"channel": "50masterc"
},
{
"channel": "51s"
},
{
"channel": "52ludib"
},
{
"channel": "53narish"
},
{
"channel": "54s"
},
{
"channel": "55sundard"
},
{
"channel": "56nandc"
},
{
"channel": "57s"
},
{
"channel": "58drdharm"
},
{
"channel": "59narayanb"
},
{
"channel": "60s"
}
]

View File

@ -0,0 +1,864 @@
[
{
"channel": "10hardevi",
"seq": 0,
"duration": 5,
"fadein": 0
},
{
"channel": "35parsramz",
"seq": 10,
"duration": 280
},
{
"channel": "50masterc",
"seq": 60,
"duration": 230
},
{
"channel": "44arjunh",
"seq": 110,
"duration": 180
},
{
"channel": "53narish",
"seq": 170,
"duration": 120
},
{
"channel": "22krishnas",
"seq": 295,
"duration": 215
},
{
"channel": "25rameshs",
"seq": 350,
"duration": 160
},
{
"channel": "31sureshs",
"seq": 515,
"duration": 9
},
{
"channel": "53narish",
"seq": 515,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 515,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 526,
"duration": 3
},
{
"channel": "41kamluj",
"seq": 526,
"duration": 3
},
{
"channel": "32arjan",
"seq": 526,
"duration": 3
},
{
"channel": "22krishnas",
"seq": 526,
"duration": 3
},
{
"channel": "31sureshs",
"seq": 526,
"duration": 184
},
{
"channel": "46bhaskars",
"seq": 580,
"duration": 130
},
{
"channel": "43mohank",
"seq": 715,
"duration": 245
},
{
"channel": "59narayanb",
"seq": 780,
"duration": 180
},
{
"channel": "07prahladc",
"seq": 850,
"duration": 110
},
{
"channel": "11govindbajaj",
"seq": 965,
"duration": 6
},
{
"channel": "17narak",
"seq": 965,
"duration": 6
},
{
"channel": "52ludib",
"seq": 965,
"duration": 6
},
{
"channel": "47gopalj",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 973,
"duration": 4
},
{
"channel": "47gopalj",
"seq": 973,
"duration": 4
},
{
"channel": "11govindbajaj",
"seq": 973,
"duration": 4
},
{
"channel": "52ludib",
"seq": 973,
"duration": 4
},
{
"channel": "17narak",
"seq": 973,
"duration": 237
},
{
"channel": "13hardasm",
"seq": 1070,
"duration": 240
},
{
"channel": "28gary",
"seq": 1170,
"duration": 140
},
{
"channel": "14hiralalbora",
"seq": 1220,
"duration": 90
},
{
"channel": "08bhaup",
"seq": 1315,
"duration": 8
},
{
"channel": "58drdharm",
"seq": 1315,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 1315,
"duration": 8
},
{
"channel": "29satid",
"seq": 1315,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 1315,
"duration": 8
},
{
"channel": "04baldevm",
"seq": 1315,
"duration": 8
},
{
"channel": "28gary",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1315,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1324,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 1324,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 1324,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 1324,
"duration": 2
},
{
"channel": "29satid",
"seq": 1324,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 1324,
"duration": 2
},
{
"channel": "28gary",
"seq": 1324,
"duration": 2
},
{
"channel": "04baldevm",
"seq": 1324,
"duration": 136
},
{
"channel": "58drdharm",
"seq": 1324,
"duration": 136
},
{
"channel": "16leelac",
"seq": 1465,
"duration": 140
},
{
"channel": "49rameshm",
"seq": 1530,
"duration": 290
},
{
"channel": "56nandc",
"seq": 1605,
"duration": 215
},
{
"channel": "55sundard",
"seq": 1680,
"duration": 140
},
{
"channel": "34murijm",
"seq": 1740,
"duration": 80
},
{
"channel": "08bhaup",
"seq": 1825,
"duration": 150
},
{
"channel": "02thakurc",
"seq": 1890,
"duration": 85
},
{
"channel": "38harchomal",
"seq": 1980,
"duration": 170
},
{
"channel": "19hemantr",
"seq": 2040,
"duration": 110
},
{
"channel": "28gary",
"seq": 2110,
"duration": 160
},
{
"channel": "55sundard",
"seq": 2170,
"duration": 100
},
{
"channel": "26hrat",
"seq": 2275,
"duration": 3
},
{
"channel": "20nrat",
"seq": 2275,
"duration": 3
},
{
"channel": "26hrat",
"seq": 2280,
"duration": 160
},
{
"channel": "20nrat",
"seq": 2350,
"duration": 90
},
{
"channel": "52ludib",
"seq": 2445,
"duration": 145
},
{
"channel": "11govindbajaj",
"seq": 2520,
"duration": 100
},
{
"channel": "50masterc",
"seq": 2625,
"duration": 240
},
{
"channel": "35parsramz",
"seq": 2670,
"duration": 195
},
{
"channel": "44arjunh",
"seq": 2745,
"duration": 120
},
{
"channel": "31sureshs",
"seq": 2870,
"duration": 9
},
{
"channel": "32arjan",
"seq": 2870,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 2870,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2880,
"duration": 4
},
{
"channel": "41kamluj",
"seq": 2880,
"duration": 4
},
{
"channel": "32arjan",
"seq": 2880,
"duration": 150
},
{
"channel": "22krishnas",
"seq": 2880,
"duration": 4
},
{
"channel": "31sureshs",
"seq": 2880,
"duration": 4
},
{
"channel": "10hardevi",
"seq": 2950,
"duration": 125
},
{
"channel": "01sunild",
"seq": 2950,
"duration": 125
},
{
"channel": "31sureshs",
"seq": 3080,
"duration": 120
},
{
"channel": "46bhaskars",
"seq": 3080,
"duration": 120
},
{
"channel": "58drdharm",
"seq": 3205,
"duration": 110
},
{
"channel": "22krishnas",
"seq": 3275,
"duration": 135
},
{
"channel": "25rameshs",
"seq": 3300,
"duration": 110
},
{
"channel": "37leenam",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3415,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3415,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3415,
"duration": 3
},
{
"channel": "53narish",
"seq": 3415,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3419,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3419,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3419,
"duration": 3
},
{
"channel": "53narish",
"seq": 3419,
"duration": 3
},
{
"channel": "37leenam",
"seq": 3419,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3419,
"duration": 241
},
{
"channel": "56nandc",
"seq": 3470,
"duration": 190
},
{
"channel": "17narak",
"seq": 3530,
"duration": 130
},
{
"channel": "55sundard",
"seq": 3600,
"duration": 60
},
{
"channel": "08bhaup",
"seq": 3665,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 3665,
"duration": 8
},
{
"channel": "29satid",
"seq": 3665,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 3665,
"duration": 8
},
{
"channel": "28gary",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3665,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3674,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 3674,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 3674,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 3674,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 3674,
"duration": 2
},
{
"channel": "28gary",
"seq": 3674,
"duration": 2
},
{
"channel": "29satid",
"seq": 3674,
"duration": 156
},
{
"channel": "23gopim",
"seq": 3730,
"duration": 100
},
{
"channel": "19hemantr",
"seq": 3780,
"duration": 70
},
{
"channel": "37leenam",
"seq": 3855,
"duration": 85
},
{
"channel": "26hrat",
"seq": 3945,
"duration": 165
},
{
"channel": "20nrat",
"seq": 3990,
"duration": 120
},
{
"channel": "41kamluj",
"seq": 4060,
"duration": 160
},
{
"channel": "02thakurc",
"seq": 4120,
"duration": 100
},
{
"channel": "34murijm",
"seq": 4180,
"duration": 165
},
{
"channel": "53narish",
"seq": 4240,
"duration": 105
},
{
"channel": "35parsramz",
"seq": 4350,
"duration": 100
},
{
"channel": "56nandc",
"seq": 4350,
"duration": 100
},
{
"channel": "59narayanb",
"seq": 4420,
"duration": 120
},
{
"channel": "04baldevm",
"seq": 4420,
"duration": 120
},
{
"channel": "40sevarab",
"seq": 4545,
"duration": 220,
"start_opt": "start"
},
{
"channel": "28gary",
"seq": 4595,
"duration": 170
},
{
"channel": "32arjan",
"seq": 4645,
"duration": 120
},
{
"channel": "01sunild",
"seq": 4980,
"duration": 130
},
{
"channel": "10hardevi",
"seq": 5020,
"duration": 100
},
{
"channel": "47gopalj"
},
{
"channel": "01sunild"
},
{
"channel": "02thakurc"
},
{
"channel": "03bl"
},
{
"channel": "04baldevm"
},
{
"channel": "05ramchandr"
},
{
"channel": "06bl"
},
{
"channel": "07prahladc"
},
{
"channel": "08bhaup"
},
{
"channel": "09bl"
},
{
"channel": "10hardevi"
},
{
"channel": "11govindbajaj"
},
{
"channel": "12bl"
},
{
"channel": "13hardasm"
},
{
"channel": "14hiralalbora"
},
{
"channel": "15bl"
},
{
"channel": "16leelac"
},
{
"channel": "17narak"
},
{
"channel": "18bl"
},
{
"channel": "19hemantr"
},
{
"channel": "20nrat"
},
{
"channel": "21bl"
},
{
"channel": "22krishnas"
},
{
"channel": "23gopim"
},
{
"channel": "24bl"
},
{
"channel": "25rameshs"
},
{
"channel": "26hrat"
},
{
"channel": "27bl"
},
{
"channel": "28gary"
},
{
"channel": "29satid"
},
{
"channel": "30bl"
},
{
"channel": "31sureshs"
},
{
"channel": "32arjan"
},
{
"channel": "33bl"
},
{
"channel": "34murijm"
},
{
"channel": "36bl"
},
{
"channel": "37leenam"
},
{
"channel": "38harchomal"
},
{
"channel": "39bl"
},
{
"channel": "40sevarab"
},
{
"channel": "41kamluj"
},
{
"channel": "42bl"
},
{
"channel": "43mohank"
},
{
"channel": "44arjunh"
},
{
"channel": "45bl"
},
{
"channel": "46bhaskars"
},
{
"channel": "47gopalj"
},
{
"channel": "48bl"
},
{
"channel": "49rameshm"
},
{
"channel": "50masterc"
},
{
"channel": "51s"
},
{
"channel": "52ludib"
},
{
"channel": "53narish"
},
{
"channel": "54s"
},
{
"channel": "55sundard"
},
{
"channel": "56nandc"
},
{
"channel": "57s"
},
{
"channel": "58drdharm"
},
{
"channel": "59narayanb"
},
{
"channel": "60s"
}
]

View File

@ -0,0 +1,864 @@
[
{
"channel": "10hardevi",
"seq": 0,
"duration": 5,
"fadein": 0
},
{
"channel": "35parsramz",
"seq": 10,
"duration": 280
},
{
"channel": "50masterc",
"seq": 60,
"duration": 230
},
{
"channel": "44arjunh",
"seq": 110,
"duration": 180
},
{
"channel": "53narish",
"seq": 170,
"duration": 120
},
{
"channel": "22krishnas",
"seq": 295,
"duration": 215
},
{
"channel": "25rameshs",
"seq": 350,
"duration": 160
},
{
"channel": "31sureshs",
"seq": 515,
"duration": 9
},
{
"channel": "53narish",
"seq": 515,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 515,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 526,
"duration": 3
},
{
"channel": "41kamluj",
"seq": 526,
"duration": 3
},
{
"channel": "32arjan",
"seq": 526,
"duration": 3
},
{
"channel": "22krishnas",
"seq": 526,
"duration": 3
},
{
"channel": "31sureshs",
"seq": 526,
"duration": 184
},
{
"channel": "46bhaskars",
"seq": 580,
"duration": 130
},
{
"channel": "43mohank",
"seq": 715,
"duration": 245
},
{
"channel": "59narayanb",
"seq": 780,
"duration": 180
},
{
"channel": "07prahladc",
"seq": 850,
"duration": 110
},
{
"channel": "11govindbajaj",
"seq": 965,
"duration": 6
},
{
"channel": "17narak",
"seq": 965,
"duration": 6
},
{
"channel": "52ludib",
"seq": 965,
"duration": 6
},
{
"channel": "47gopalj",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 973,
"duration": 4
},
{
"channel": "47gopalj",
"seq": 973,
"duration": 4
},
{
"channel": "11govindbajaj",
"seq": 973,
"duration": 4
},
{
"channel": "52ludib",
"seq": 973,
"duration": 4
},
{
"channel": "17narak",
"seq": 973,
"duration": 237
},
{
"channel": "13hardasm",
"seq": 1070,
"duration": 240
},
{
"channel": "28gary",
"seq": 1170,
"duration": 140
},
{
"channel": "14hiralalbora",
"seq": 1220,
"duration": 90
},
{
"channel": "08bhaup",
"seq": 1315,
"duration": 8
},
{
"channel": "58drdharm",
"seq": 1315,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 1315,
"duration": 8
},
{
"channel": "29satid",
"seq": 1315,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 1315,
"duration": 8
},
{
"channel": "04baldevm",
"seq": 1315,
"duration": 8
},
{
"channel": "28gary",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1315,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1324,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 1324,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 1324,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 1324,
"duration": 2
},
{
"channel": "29satid",
"seq": 1324,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 1324,
"duration": 2
},
{
"channel": "28gary",
"seq": 1324,
"duration": 2
},
{
"channel": "04baldevm",
"seq": 1324,
"duration": 136
},
{
"channel": "58drdharm",
"seq": 1324,
"duration": 136
},
{
"channel": "16leelac",
"seq": 1465,
"duration": 140
},
{
"channel": "49rameshm",
"seq": 1530,
"duration": 290
},
{
"channel": "56nandc",
"seq": 1605,
"duration": 215
},
{
"channel": "55sundard",
"seq": 1680,
"duration": 140
},
{
"channel": "34murijm",
"seq": 1740,
"duration": 80
},
{
"channel": "08bhaup",
"seq": 1825,
"duration": 150
},
{
"channel": "02thakurc",
"seq": 1890,
"duration": 85
},
{
"channel": "38harchomal",
"seq": 1980,
"duration": 170
},
{
"channel": "19hemantr",
"seq": 2040,
"duration": 110
},
{
"channel": "28gary",
"seq": 2110,
"duration": 160
},
{
"channel": "55sundard",
"seq": 2170,
"duration": 100
},
{
"channel": "26hrat",
"seq": 2275,
"duration": 3
},
{
"channel": "20nrat",
"seq": 2275,
"duration": 3
},
{
"channel": "26hrat",
"seq": 2280,
"duration": 160
},
{
"channel": "20nrat",
"seq": 2350,
"duration": 90
},
{
"channel": "52ludib",
"seq": 2445,
"duration": 145
},
{
"channel": "11govindbajaj",
"seq": 2520,
"duration": 100
},
{
"channel": "50masterc",
"seq": 2625,
"duration": 240
},
{
"channel": "35parsramz",
"seq": 2670,
"duration": 195
},
{
"channel": "44arjunh",
"seq": 2745,
"duration": 120
},
{
"channel": "31sureshs",
"seq": 2870,
"duration": 9
},
{
"channel": "32arjan",
"seq": 2870,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 2870,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2880,
"duration": 4
},
{
"channel": "41kamluj",
"seq": 2880,
"duration": 4
},
{
"channel": "32arjan",
"seq": 2880,
"duration": 150
},
{
"channel": "22krishnas",
"seq": 2880,
"duration": 4
},
{
"channel": "31sureshs",
"seq": 2880,
"duration": 4
},
{
"channel": "10hardevi",
"seq": 2950,
"duration": 125
},
{
"channel": "01sunild",
"seq": 2950,
"duration": 125
},
{
"channel": "31sureshs",
"seq": 3080,
"duration": 120
},
{
"channel": "46bhaskars",
"seq": 3080,
"duration": 120
},
{
"channel": "58drdharm",
"seq": 3205,
"duration": 110
},
{
"channel": "22krishnas",
"seq": 3275,
"duration": 135
},
{
"channel": "25rameshs",
"seq": 3300,
"duration": 110
},
{
"channel": "37leenam",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3415,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3415,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3415,
"duration": 3
},
{
"channel": "53narish",
"seq": 3415,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3419,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3419,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3419,
"duration": 3
},
{
"channel": "53narish",
"seq": 3419,
"duration": 3
},
{
"channel": "37leenam",
"seq": 3419,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3419,
"duration": 241
},
{
"channel": "56nandc",
"seq": 3470,
"duration": 190
},
{
"channel": "17narak",
"seq": 3530,
"duration": 130
},
{
"channel": "55sundard",
"seq": 3600,
"duration": 60
},
{
"channel": "08bhaup",
"seq": 3665,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 3665,
"duration": 8
},
{
"channel": "29satid",
"seq": 3665,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 3665,
"duration": 8
},
{
"channel": "28gary",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3665,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3674,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 3674,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 3674,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 3674,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 3674,
"duration": 2
},
{
"channel": "28gary",
"seq": 3674,
"duration": 2
},
{
"channel": "29satid",
"seq": 3674,
"duration": 156
},
{
"channel": "23gopim",
"seq": 3730,
"duration": 100
},
{
"channel": "19hemantr",
"seq": 3780,
"duration": 70
},
{
"channel": "37leenam",
"seq": 3855,
"duration": 85
},
{
"channel": "26hrat",
"seq": 3945,
"duration": 165
},
{
"channel": "20nrat",
"seq": 3990,
"duration": 120
},
{
"channel": "41kamluj",
"seq": 4060,
"duration": 160
},
{
"channel": "02thakurc",
"seq": 4120,
"duration": 100
},
{
"channel": "34murijm",
"seq": 4180,
"duration": 165
},
{
"channel": "53narish",
"seq": 4240,
"duration": 105
},
{
"channel": "35parsramz",
"seq": 4350,
"duration": 100
},
{
"channel": "56nandc",
"seq": 4350,
"duration": 100
},
{
"channel": "59narayanb",
"seq": 4420,
"duration": 120
},
{
"channel": "04baldevm",
"seq": 4420,
"duration": 120
},
{
"channel": "28gary",
"seq": 4545,
"duration": 220,
"start_opt": "start"
},
{
"channel": "40sevarab",
"seq": 4595,
"duration": 170
},
{
"channel": "32arjan",
"seq": 4645,
"duration": 120
},
{
"channel": "01sunild",
"seq": 4980,
"duration": 130
},
{
"channel": "10hardevi",
"seq": 5020,
"duration": 100
},
{
"channel": "47gopalj"
},
{
"channel": "01sunild"
},
{
"channel": "02thakurc"
},
{
"channel": "03bl"
},
{
"channel": "04baldevm"
},
{
"channel": "05ramchandr"
},
{
"channel": "06bl"
},
{
"channel": "07prahladc"
},
{
"channel": "08bhaup"
},
{
"channel": "09bl"
},
{
"channel": "10hardevi"
},
{
"channel": "11govindbajaj"
},
{
"channel": "12bl"
},
{
"channel": "13hardasm"
},
{
"channel": "14hiralalbora"
},
{
"channel": "15bl"
},
{
"channel": "16leelac"
},
{
"channel": "17narak"
},
{
"channel": "18bl"
},
{
"channel": "19hemantr"
},
{
"channel": "20nrat"
},
{
"channel": "21bl"
},
{
"channel": "22krishnas"
},
{
"channel": "23gopim"
},
{
"channel": "24bl"
},
{
"channel": "25rameshs"
},
{
"channel": "26hrat"
},
{
"channel": "27bl"
},
{
"channel": "28gary"
},
{
"channel": "29satid"
},
{
"channel": "30bl"
},
{
"channel": "31sureshs"
},
{
"channel": "32arjan"
},
{
"channel": "33bl"
},
{
"channel": "34murijm"
},
{
"channel": "36bl"
},
{
"channel": "37leenam"
},
{
"channel": "38harchomal"
},
{
"channel": "39bl"
},
{
"channel": "40sevarab"
},
{
"channel": "41kamluj"
},
{
"channel": "42bl"
},
{
"channel": "43mohank"
},
{
"channel": "44arjunh"
},
{
"channel": "45bl"
},
{
"channel": "46bhaskars"
},
{
"channel": "47gopalj"
},
{
"channel": "48bl"
},
{
"channel": "49rameshm"
},
{
"channel": "50masterc"
},
{
"channel": "51s"
},
{
"channel": "52ludib"
},
{
"channel": "53narish"
},
{
"channel": "54s"
},
{
"channel": "55sundard"
},
{
"channel": "56nandc"
},
{
"channel": "57s"
},
{
"channel": "58drdharm"
},
{
"channel": "59narayanb"
},
{
"channel": "60s"
}
]

View File

@ -0,0 +1,864 @@
[
{
"channel": "10hardevi",
"seq": 0,
"duration": 5,
"fadein": 0
},
{
"channel": "35parsramz",
"seq": 10,
"duration": 280
},
{
"channel": "50masterc",
"seq": 60,
"duration": 230
},
{
"channel": "44arjunh",
"seq": 110,
"duration": 180
},
{
"channel": "53narish",
"seq": 170,
"duration": 120
},
{
"channel": "22krishnas",
"seq": 295,
"duration": 215
},
{
"channel": "25rameshs",
"seq": 350,
"duration": 160
},
{
"channel": "31sureshs",
"seq": 515,
"duration": 9
},
{
"channel": "53narish",
"seq": 515,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 515,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 526,
"duration": 3
},
{
"channel": "41kamluj",
"seq": 526,
"duration": 3
},
{
"channel": "32arjan",
"seq": 526,
"duration": 3
},
{
"channel": "22krishnas",
"seq": 526,
"duration": 3
},
{
"channel": "31sureshs",
"seq": 526,
"duration": 184
},
{
"channel": "46bhaskars",
"seq": 580,
"duration": 130
},
{
"channel": "43mohank",
"seq": 715,
"duration": 245
},
{
"channel": "59narayanb",
"seq": 780,
"duration": 180
},
{
"channel": "07prahladc",
"seq": 850,
"duration": 110
},
{
"channel": "11govindbajaj",
"seq": 965,
"duration": 6
},
{
"channel": "17narak",
"seq": 965,
"duration": 6
},
{
"channel": "52ludib",
"seq": 965,
"duration": 6
},
{
"channel": "47gopalj",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 973,
"duration": 4
},
{
"channel": "47gopalj",
"seq": 973,
"duration": 4
},
{
"channel": "11govindbajaj",
"seq": 973,
"duration": 4
},
{
"channel": "52ludib",
"seq": 973,
"duration": 4
},
{
"channel": "17narak",
"seq": 973,
"duration": 237
},
{
"channel": "13hardasm",
"seq": 1070,
"duration": 240
},
{
"channel": "28gary",
"seq": 1170,
"duration": 140
},
{
"channel": "14hiralalbora",
"seq": 1220,
"duration": 90
},
{
"channel": "08bhaup",
"seq": 1315,
"duration": 8
},
{
"channel": "58drdharm",
"seq": 1315,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 1315,
"duration": 8
},
{
"channel": "29satid",
"seq": 1315,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 1315,
"duration": 8
},
{
"channel": "04baldevm",
"seq": 1315,
"duration": 8
},
{
"channel": "28gary",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1315,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1324,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 1324,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 1324,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 1324,
"duration": 2
},
{
"channel": "29satid",
"seq": 1324,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 1324,
"duration": 2
},
{
"channel": "28gary",
"seq": 1324,
"duration": 2
},
{
"channel": "04baldevm",
"seq": 1324,
"duration": 136
},
{
"channel": "58drdharm",
"seq": 1324,
"duration": 136
},
{
"channel": "16leelac",
"seq": 1465,
"duration": 140
},
{
"channel": "49rameshm",
"seq": 1530,
"duration": 290
},
{
"channel": "56nandc",
"seq": 1605,
"duration": 215
},
{
"channel": "55sundard",
"seq": 1680,
"duration": 140
},
{
"channel": "34murijm",
"seq": 1740,
"duration": 80
},
{
"channel": "08bhaup",
"seq": 1825,
"duration": 150
},
{
"channel": "02thakurc",
"seq": 1890,
"duration": 85
},
{
"channel": "38harchomal",
"seq": 1980,
"duration": 170
},
{
"channel": "19hemantr",
"seq": 2040,
"duration": 110
},
{
"channel": "28gary",
"seq": 2110,
"duration": 160
},
{
"channel": "55sundard",
"seq": 2170,
"duration": 100
},
{
"channel": "26hrat",
"seq": 2275,
"duration": 3
},
{
"channel": "20nrat",
"seq": 2275,
"duration": 3
},
{
"channel": "26hrat",
"seq": 2280,
"duration": 160
},
{
"channel": "20nrat",
"seq": 2350,
"duration": 90
},
{
"channel": "52ludib",
"seq": 2445,
"duration": 145
},
{
"channel": "11govindbajaj",
"seq": 2520,
"duration": 100
},
{
"channel": "50masterc",
"seq": 2625,
"duration": 240
},
{
"channel": "35parsramz",
"seq": 2670,
"duration": 195
},
{
"channel": "44arjunh",
"seq": 2745,
"duration": 120
},
{
"channel": "31sureshs",
"seq": 2870,
"duration": 9
},
{
"channel": "32arjan",
"seq": 2870,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 2870,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2880,
"duration": 4
},
{
"channel": "41kamluj",
"seq": 2880,
"duration": 4
},
{
"channel": "32arjan",
"seq": 2880,
"duration": 150
},
{
"channel": "22krishnas",
"seq": 2880,
"duration": 4
},
{
"channel": "31sureshs",
"seq": 2880,
"duration": 4
},
{
"channel": "10hardevi",
"seq": 2950,
"duration": 125
},
{
"channel": "01sunild",
"seq": 2950,
"duration": 125
},
{
"channel": "31sureshs",
"seq": 3080,
"duration": 120
},
{
"channel": "46bhaskars",
"seq": 3080,
"duration": 120
},
{
"channel": "58drdharm",
"seq": 3205,
"duration": 110
},
{
"channel": "22krishnas",
"seq": 3275,
"duration": 135
},
{
"channel": "25rameshs",
"seq": 3300,
"duration": 110
},
{
"channel": "37leenam",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3415,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3415,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3415,
"duration": 3
},
{
"channel": "53narish",
"seq": 3415,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3419,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3419,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3419,
"duration": 3
},
{
"channel": "53narish",
"seq": 3419,
"duration": 3
},
{
"channel": "37leenam",
"seq": 3419,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3419,
"duration": 241
},
{
"channel": "56nandc",
"seq": 3470,
"duration": 190
},
{
"channel": "17narak",
"seq": 3530,
"duration": 130
},
{
"channel": "55sundard",
"seq": 3600,
"duration": 60
},
{
"channel": "08bhaup",
"seq": 3665,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 3665,
"duration": 8
},
{
"channel": "29satid",
"seq": 3665,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 3665,
"duration": 8
},
{
"channel": "28gary",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3665,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3674,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 3674,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 3674,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 3674,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 3674,
"duration": 2
},
{
"channel": "28gary",
"seq": 3674,
"duration": 2
},
{
"channel": "29satid",
"seq": 3674,
"duration": 156
},
{
"channel": "23gopim",
"seq": 3730,
"duration": 100
},
{
"channel": "19hemantr",
"seq": 3780,
"duration": 70
},
{
"channel": "37leenam",
"seq": 3855,
"duration": 85
},
{
"channel": "26hrat",
"seq": 3945,
"duration": 165
},
{
"channel": "20nrat",
"seq": 3990,
"duration": 120
},
{
"channel": "41kamluj",
"seq": 4060,
"duration": 160
},
{
"channel": "02thakurc",
"seq": 4120,
"duration": 100
},
{
"channel": "34murijm",
"seq": 4180,
"duration": 165
},
{
"channel": "53narish",
"seq": 4240,
"duration": 105
},
{
"channel": "35parsramz",
"seq": 4350,
"duration": 100
},
{
"channel": "56nandc",
"seq": 4350,
"duration": 100
},
{
"channel": "59narayanb",
"seq": 4420,
"duration": 120
},
{
"channel": "04baldevm",
"seq": 4420,
"duration": 120
},
{
"channel": "28gary",
"seq": 4545,
"duration": 220
},
{
"channel": "40sevarab",
"seq": 4595,
"duration": 170
},
{
"channel": "32arjan",
"seq": 4645,
"duration": 120
},
{
"channel": "01sunild",
"seq": 4770,
"duration": 130,
"start_opt": "start"
},
{
"channel": "10hardevi",
"seq": 4820,
"duration": 100
},
{
"channel": "47gopalj"
},
{
"channel": "01sunild"
},
{
"channel": "02thakurc"
},
{
"channel": "03bl"
},
{
"channel": "04baldevm"
},
{
"channel": "05ramchandr"
},
{
"channel": "06bl"
},
{
"channel": "07prahladc"
},
{
"channel": "08bhaup"
},
{
"channel": "09bl"
},
{
"channel": "10hardevi"
},
{
"channel": "11govindbajaj"
},
{
"channel": "12bl"
},
{
"channel": "13hardasm"
},
{
"channel": "14hiralalbora"
},
{
"channel": "15bl"
},
{
"channel": "16leelac"
},
{
"channel": "17narak"
},
{
"channel": "18bl"
},
{
"channel": "19hemantr"
},
{
"channel": "20nrat"
},
{
"channel": "21bl"
},
{
"channel": "22krishnas"
},
{
"channel": "23gopim"
},
{
"channel": "24bl"
},
{
"channel": "25rameshs"
},
{
"channel": "26hrat"
},
{
"channel": "27bl"
},
{
"channel": "28gary"
},
{
"channel": "29satid"
},
{
"channel": "30bl"
},
{
"channel": "31sureshs"
},
{
"channel": "32arjan"
},
{
"channel": "33bl"
},
{
"channel": "34murijm"
},
{
"channel": "36bl"
},
{
"channel": "37leenam"
},
{
"channel": "38harchomal"
},
{
"channel": "39bl"
},
{
"channel": "40sevarab"
},
{
"channel": "41kamluj"
},
{
"channel": "42bl"
},
{
"channel": "43mohank"
},
{
"channel": "44arjunh"
},
{
"channel": "45bl"
},
{
"channel": "46bhaskars"
},
{
"channel": "47gopalj"
},
{
"channel": "48bl"
},
{
"channel": "49rameshm"
},
{
"channel": "50masterc"
},
{
"channel": "51s"
},
{
"channel": "52ludib"
},
{
"channel": "53narish"
},
{
"channel": "54s"
},
{
"channel": "55sundard"
},
{
"channel": "56nandc"
},
{
"channel": "57s"
},
{
"channel": "58drdharm"
},
{
"channel": "59narayanb"
},
{
"channel": "60s"
}
]

229
getseq/some.csv Normal file
View File

@ -0,0 +1,229 @@
channel,"seq (position on timeline in seconds)","duration (sec)","brightness (optional)",start_opt,story,"fadein_opt (ms)","fadeout_opt (ms)",,"old seq","old duration","end point",fast,"fast dur"
10hardevi,0,5,,,,0,,,,,,,
,,,,,,,,,,,,,
35parsramz,10,280,,,abana,,,,10,280,290,2,56
50masterc,60,230,,,,,,,60,230,290,12,46
44arjunh,110,180,,,,,,,110,180,290,22,36
53narish,170,120,,,,,,,170,120,290,34,24
,,,,,,,,,,,,,
22krishnas,295,215,,,"siblings Show",,,,295,215,510,59,43
25rameshs,350,160,,,,,,,350,160,510,70,32
,,,,,,,,,,,,,
31sureshs,515,9,,,"hyderabad flash",,,,,,,,
53narish,515,9,,,,,,,,,,,
22krishnas,515,9,,,,,,,,,,,
41kamluj,515,9,,,,,,,,,,,
10hardevi,515,9,,,,,,,,,,,
10hardevi,526,3,,,,,,,,,,,
41kamluj,526,3,,,,,,,,,,,
32arjan,526,3,,,,,,,,,,,
22krishnas,526,3,,,,,,,,,,,
31sureshs,526,184,,,,,,,526,184,710,,
,,,,,,,,,0,0,,,
46bhaskars,580,130,,,"nephew africa",,,,580,130,710,,
,,,,,,,,,0,0,0,,
43mohank,715,245,,,"literary to rss",,,,715,245,960,,
59narayanb,780,180,,,,,,,780,180,960,,
07prahladc,850,110,,,,,,,850,110,960,,
,,,,,,,,,,,,,
,,,,,,,,,,,,,
11govindbajaj,965,6,,,"sukkur flash Show",,,,,,,,
17narak,965,6,,,,,,,,,,,
52ludib,965,6,,,,,,,,,,,
47gopalj,965,6,,,,,,,,,,,
05ramchandr,965,6,,,,,,,,,,,
05ramchandr,973,4,,,,,,,,,,,
47gopalj,973,4,,,,,,,,,,,
11govindbajaj,973,4,,,,,,,,,,,
52ludib,973,4,,,,,,,,,,,
17narak,973,237,,,,,,,973,237,1210,,
,,,,,,,,,,,,,
13hardasm,1070,240,,,"century rayon",,,,1070,240,1310,,
28gary,1170,140,,,,,,,1170,140,1310,,
14hiralalbora,1220,90,,,,,,,1220,90,1310,,
,,,,,,,,,,,,,
08bhaup,1315,8,,,"larkana flash",,,,,,,,
58drdharm,1315,8,,,,,,,,,,,
40sevarab,1315,8,,,,,,,,,,,
29satid,1315,8,,,,,,,,,,,
02thakurc,1315,8,,,,,,,,,,,
04baldevm,1315,8,,,,,,,,,,,
28gary,1315,8,,,,,,,,,,,
13hardasm,1315,8,,,,,,,,,,,
59narayanb,1315,8,,,,,,,,,,,
13hardasm,1324,2,,,,,,,,,,,
59narayanb,1324,2,,,,,,,,,,,
08bhaup,1324,2,,,,,,,,,,,
40sevarab,1324,2,,,,,,,,,,,
29satid,1324,2,,,,,,,,,,,
02thakurc,1324,2,,,,,,,,,,,
28gary,1324,2,,,,,,,1324,2,1326,,
04baldevm,1324,136,,,"late comers",,,,1324,136,1460,,
58drdharm,1324,136,,,,,,,1324,136,1460,,
,,,,,,,,,,,,,
16leelac,1465,140,,,,,,,1465,140,1605,,
,,,,,,,,,,,,,
49rameshm,1530,290,,,"sindhi youth circle",,,,1530,290,1820,,
56nandc,1605,215,,,,,,,1605,215,1820,,
55sundard,1680,140,,,,,,,1680,140,1820,,
34murijm,1740,80,,,,,,,1740,80,1820,,
,,,,,,,,,,,,,
08bhaup,1825,150,,,"food etc",,,,1825,150,1975,,
02thakurc,1890,85,,,,,,,1890,85,1975,,
,,,,,,,,,,,,,
38harchomal,1980,170,,,"camp to camp",,,,1980,170,2150,,
19hemantr,2040,110,,,,,,,2040,110,2150,,
28gary,2110,160,,,,,,,2110,160,2270,,
55sundard,2170,100,,,,,,,2170,100,2270,,
,,,,,,,,,,,,,
26hrat,2275,3,,,"flash rattesars",,,,2275,3,,,
20nrat,2275,3,,,,,,,2275,3,,,
26hrat,2280,160,,,,,,,2280,160,2440,,
20nrat,2350,90,,,,,,,2350,90,2440,,
,,,,,,,,,,,,,
52ludib,2445,145,,,"later larkana duo",,,,2445,145,2590,,
11govindbajaj,2520,100,,,,,,,2520,100,2620,,
,,,,,,,,,,,,,
50masterc,2625,240,,,"abana repeat with rearrange",,,,2625,240,2865,,
35parsramz,2670,195,,,,,,,2670,195,2865,,
44arjunh,2745,120,,,,,,,2745,120,2865,,
,,,,,,,,,,,,,
31sureshs,2870,9,,,"hyderabad flash",,,,,,,,
32arjan,2870,9,,,,,,,,,,,
22krishnas,2870,9,,,,,,,,,,,
41kamluj,2870,9,,,,,,,,,,,
10hardevi,2870,9,,,,,,,,,,,
10hardevi,2880,4,,,,,,,,,,,
41kamluj,2880,4,,,,,,,,,,,
32arjan,2880,150,,,"arjan stays",,,,2880,120,3000,,
22krishnas,2880,4,,,,,,,2880,4,2884,,
31sureshs,2880,4,,,,,,,2880,4,2884,,
,,,,,,,,,,0,,,
10hardevi,2950,125,,,"africa loop",,,,2950,125,3075,,
01sunild,2950,125,,,,,,,2950,125,3075,,
,,,,,,,,,0,0,,,
31sureshs,3080,120,,,,,,,3080,120,3200,,
46bhaskars,3080,120,,,,,,,3080,120,3200,,
,,,,,,,,,,,,,
58drdharm,3205,110,,,"doctros and nurse",,,,3205,110,3315,,
22krishnas,3275,135,,,,,,,3275,135,3410,,
25rameshs,3300,110,,,brother,,,,3300,110,3410,,
,,,,,,,,,,,,,
,,,,,,,,,,,,,
37leenam,3415,3,,,"KARACHI flash",,,,,,,,
14hiralalbora,3415,3,,,,,,,,,,,
55sundard,3415,3,,,,,,,,,,,
49rameshm,3415,3,,,,,,,,,,,
53narish,3415,3,,,,,,,,,,,
16leelac,3415,3,,,,,,,,,,,
14hiralalbora,3419,3,,,,,,,,,,,
55sundard,3419,3,,,,,,,,,,,
49rameshm,3419,3,,,,,,,,,,,
53narish,3419,3,,,,,,,,,,,
37leenam,3419,3,,,,,,,,,,,
16leelac,3419,241,,,"leela stays",,,,3419,241,3660,,
,,,,,,,,,,,,,
56nandc,3470,190,,,"new era school",,,,3470,190,3660,,
17narak,3530,130,,,,,,,3530,130,3660,,
55sundard,3600,60,,,,,,,3600,60,3660,,
,,,,,,,,,,,,,
08bhaup,3665,8,,,"larkana flash",,,,,,,,
40sevarab,3665,8,,,,,,,,,,,
29satid,3665,8,,,,,,,,,,,
02thakurc,3665,8,,,,,,,,,,,
28gary,3665,8,,,,,,,,,,,
13hardasm,3665,8,,,,,,,,,,,
59narayanb,3665,8,,,,,,,,,,,
13hardasm,3674,2,,,,,,,,,,,
59narayanb,3674,2,,,,,,,,,,,
08bhaup,3674,2,,,,,,,,,,,
40sevarab,3674,2,,,,,,,,,,,
02thakurc,3674,2,,,,,,,,,,,
28gary,3674,2,,,,,,,,,,,
29satid,3674,156,,,"sati stays",,,,3674,156,3830,,
,,,,,,,,,,,,,
23gopim,3730,100,,,stitching,,,,3730,100,3830,,
19hemantr,3780,70,,,,,,,3780,70,3850,,
,,,,,,,,,,,,,
37leenam,3855,85,,,solo,,,,3855,85,3940,,
,,,,,,,,,,,,,
26hrat,3945,165,,,"gulf loop ",,,,3945,165,4110,,
20nrat,3990,120,,,,,,,3990,120,4110,,
41kamluj,4060,160,,,,,,,4060,160,4220,,
02thakurc,4120,100,,,,,,,4120,100,4220,,
34murijm,4180,165,,,,,,,4180,165,4345,,
53narish,4240,105,,,,,,,4240,105,4345,,
,,,,,,,,,,,,,
35parsramz,4350,100,,,literary,,,,4350,100,4450,,
56nandc,4350,100,,,,,,,4350,100,4450,,
59narayanb,4420,120,,,,,,,4420,120,4540,,
04baldevm,4420,120,,,"fade out",,,,4420,120,4540,,
,,,,,,,,,,,,,
28gary,4545,220,,,"china hk",,,,4545,220,4765,,
40sevarab,4595,170,,,,,,,4595,170,4765,,
32arjan,4645,120,,,,,,,4645,120,4765,,
,,,,,,,,,,,,,
01sunild,4770,130,,,siblings,,,,4770,130,4900,,
10hardevi,4830,100,,start,,,,,4830,100,4930,,
,,,,,,,,,,,,,
47gopalj,,,,,,,,,,,,,
,,,,,,,,,,,,,
01sunild,,,,,,,,,,,,,
02thakurc,,,,,,,,,,,,,
03bl,,,,,,,,,,,,,
04baldevm,,,,,,,,,,,,,
05ramchandr,,,,,,,,,,,,,
06bl,,,,,,,,,,,,,
07prahladc,,,,,,,,,,,,,
08bhaup,,,,,,,,,,,,,
09bl,,,,,,,,,,,,,
10hardevi,,,,,,,,,,,,,
11govindbajaj,,,,,,,,,,,,,
12bl,,,,,,,,,,,,,
13hardasm,,,,,,,,,,,,,
14hiralalbora,,,,,,,,,,,,,
15bl,,,,,,,,,,,,,
16leelac,,,,,,,,,,,,,
17narak,,,,,,,,,,,,,
18bl,,,,,,,,,,,,,
19hemantr,,,,,,,,,,,,,
20nrat,,,,,,,,,,,,,
21bl,,,,,,,,,,,,,
22krishnas,,,,,,,,,,,,,
23gopim,,,,,,,,,,,,,
24bl,,,,,,,,,,,,,
25rameshs,,,,,,,,,,,,,
26hrat,,,,,,,,,,,,,
27bl,,,,,,,,,,,,,
28gary,,,,,,,,,,,,,
29satid,,,,,,,,,,,,,
30bl,,,,,,,,,,,,,
31sureshs,,,,,,,,,,,,,
32arjan,,,,,,,,,,,,,
33bl,,,,,,,,,,,,,
34murijm,,,,,,,,,,,,,
36bl,,,,,,,,,,,,,
37leenam,,,,,,,,,,,,,
38harchomal,,,,,,,,,,,,,
39bl,,,,,,,,,,,,,
40sevarab,,,,,,,,,,,,,
41kamluj,,,,,,,,,,,,,
42bl,,,,,,,,,,,,,
43mohank,,,,,,,,,,,,,
44arjunh,,,,,,,,,,,,,
45bl,,,,,,,,,,,,,
46bhaskars,,,,,,,,,,,,,
47gopalj,,,,,,,,,,,,,
48bl,,,,,,,,,,,,,
49rameshm,,,,,,,,,,,,,
50masterc,,,,,,,,,,,,,
51s,,,,,,,,,,,,,
52ludib,,,,,,,,,,,,,
53narish,,,,,,,,,,,,,
54s,,,,,,,,,,,,,
55sundard,,,,,,,,,,,,,
56nandc,,,,,,,,,,,,,
57s,,,,,,,,,,,,,
58drdharm,,,,,,,,,,,,,
59narayanb,,,,,,,,,,,,,
60s,,,,,,,,,,,,,
1 channel seq (position on timeline in seconds) duration (sec) brightness (optional) start_opt story fadein_opt (ms) fadeout_opt (ms) old seq old duration end point fast fast dur
2 10hardevi 0 5 0
3
4 35parsramz 10 280 abana 10 280 290 2 56
5 50masterc 60 230 60 230 290 12 46
6 44arjunh 110 180 110 180 290 22 36
7 53narish 170 120 170 120 290 34 24
8
9 22krishnas 295 215 siblings Show 295 215 510 59 43
10 25rameshs 350 160 350 160 510 70 32
11
12 31sureshs 515 9 hyderabad flash
13 53narish 515 9
14 22krishnas 515 9
15 41kamluj 515 9
16 10hardevi 515 9
17 10hardevi 526 3
18 41kamluj 526 3
19 32arjan 526 3
20 22krishnas 526 3
21 31sureshs 526 184 526 184 710
22 0 0
23 46bhaskars 580 130 nephew africa 580 130 710
24 0 0 0
25 43mohank 715 245 literary to rss 715 245 960
26 59narayanb 780 180 780 180 960
27 07prahladc 850 110 850 110 960
28
29
30 11govindbajaj 965 6 sukkur flash Show
31 17narak 965 6
32 52ludib 965 6
33 47gopalj 965 6
34 05ramchandr 965 6
35 05ramchandr 973 4
36 47gopalj 973 4
37 11govindbajaj 973 4
38 52ludib 973 4
39 17narak 973 237 973 237 1210
40
41 13hardasm 1070 240 century rayon 1070 240 1310
42 28gary 1170 140 1170 140 1310
43 14hiralalbora 1220 90 1220 90 1310
44
45 08bhaup 1315 8 larkana flash
46 58drdharm 1315 8
47 40sevarab 1315 8
48 29satid 1315 8
49 02thakurc 1315 8
50 04baldevm 1315 8
51 28gary 1315 8
52 13hardasm 1315 8
53 59narayanb 1315 8
54 13hardasm 1324 2
55 59narayanb 1324 2
56 08bhaup 1324 2
57 40sevarab 1324 2
58 29satid 1324 2
59 02thakurc 1324 2
60 28gary 1324 2 1324 2 1326
61 04baldevm 1324 136 late comers 1324 136 1460
62 58drdharm 1324 136 1324 136 1460
63
64 16leelac 1465 140 1465 140 1605
65
66 49rameshm 1530 290 sindhi youth circle 1530 290 1820
67 56nandc 1605 215 1605 215 1820
68 55sundard 1680 140 1680 140 1820
69 34murijm 1740 80 1740 80 1820
70
71 08bhaup 1825 150 food etc 1825 150 1975
72 02thakurc 1890 85 1890 85 1975
73
74 38harchomal 1980 170 camp to camp 1980 170 2150
75 19hemantr 2040 110 2040 110 2150
76 28gary 2110 160 2110 160 2270
77 55sundard 2170 100 2170 100 2270
78
79 26hrat 2275 3 flash rattesars 2275 3
80 20nrat 2275 3 2275 3
81 26hrat 2280 160 2280 160 2440
82 20nrat 2350 90 2350 90 2440
83
84 52ludib 2445 145 later larkana duo 2445 145 2590
85 11govindbajaj 2520 100 2520 100 2620
86
87 50masterc 2625 240 abana repeat with rearrange 2625 240 2865
88 35parsramz 2670 195 2670 195 2865
89 44arjunh 2745 120 2745 120 2865
90
91 31sureshs 2870 9 hyderabad flash
92 32arjan 2870 9
93 22krishnas 2870 9
94 41kamluj 2870 9
95 10hardevi 2870 9
96 10hardevi 2880 4
97 41kamluj 2880 4
98 32arjan 2880 150 arjan stays 2880 120 3000
99 22krishnas 2880 4 2880 4 2884
100 31sureshs 2880 4 2880 4 2884
101 0
102 10hardevi 2950 125 africa loop 2950 125 3075
103 01sunild 2950 125 2950 125 3075
104 0 0
105 31sureshs 3080 120 3080 120 3200
106 46bhaskars 3080 120 3080 120 3200
107
108 58drdharm 3205 110 doctros and nurse 3205 110 3315
109 22krishnas 3275 135 3275 135 3410
110 25rameshs 3300 110 brother 3300 110 3410
111
112
113 37leenam 3415 3 KARACHI flash
114 14hiralalbora 3415 3
115 55sundard 3415 3
116 49rameshm 3415 3
117 53narish 3415 3
118 16leelac 3415 3
119 14hiralalbora 3419 3
120 55sundard 3419 3
121 49rameshm 3419 3
122 53narish 3419 3
123 37leenam 3419 3
124 16leelac 3419 241 leela stays 3419 241 3660
125
126 56nandc 3470 190 new era school 3470 190 3660
127 17narak 3530 130 3530 130 3660
128 55sundard 3600 60 3600 60 3660
129
130 08bhaup 3665 8 larkana flash
131 40sevarab 3665 8
132 29satid 3665 8
133 02thakurc 3665 8
134 28gary 3665 8
135 13hardasm 3665 8
136 59narayanb 3665 8
137 13hardasm 3674 2
138 59narayanb 3674 2
139 08bhaup 3674 2
140 40sevarab 3674 2
141 02thakurc 3674 2
142 28gary 3674 2
143 29satid 3674 156 sati stays 3674 156 3830
144
145 23gopim 3730 100 stitching 3730 100 3830
146 19hemantr 3780 70 3780 70 3850
147
148 37leenam 3855 85 solo 3855 85 3940
149
150 26hrat 3945 165 gulf loop 3945 165 4110
151 20nrat 3990 120 3990 120 4110
152 41kamluj 4060 160 4060 160 4220
153 02thakurc 4120 100 4120 100 4220
154 34murijm 4180 165 4180 165 4345
155 53narish 4240 105 4240 105 4345
156
157 35parsramz 4350 100 literary 4350 100 4450
158 56nandc 4350 100 4350 100 4450
159 59narayanb 4420 120 4420 120 4540
160 04baldevm 4420 120 fade out 4420 120 4540
161
162 28gary 4545 220 china hk 4545 220 4765
163 40sevarab 4595 170 4595 170 4765
164 32arjan 4645 120 4645 120 4765
165
166 01sunild 4770 130 siblings 4770 130 4900
167 10hardevi 4830 100 start 4830 100 4930
168
169 47gopalj
170
171 01sunild
172 02thakurc
173 03bl
174 04baldevm
175 05ramchandr
176 06bl
177 07prahladc
178 08bhaup
179 09bl
180 10hardevi
181 11govindbajaj
182 12bl
183 13hardasm
184 14hiralalbora
185 15bl
186 16leelac
187 17narak
188 18bl
189 19hemantr
190 20nrat
191 21bl
192 22krishnas
193 23gopim
194 24bl
195 25rameshs
196 26hrat
197 27bl
198 28gary
199 29satid
200 30bl
201 31sureshs
202 32arjan
203 33bl
204 34murijm
205 36bl
206 37leenam
207 38harchomal
208 39bl
209 40sevarab
210 41kamluj
211 42bl
212 43mohank
213 44arjunh
214 45bl
215 46bhaskars
216 47gopalj
217 48bl
218 49rameshm
219 50masterc
220 51s
221 52ludib
222 53narish
223 54s
224 55sundard
225 56nandc
226 57s
227 58drdharm
228 59narayanb
229 60s

68
mapchannels.py Executable file
View File

@ -0,0 +1,68 @@
#!/usr/bin/python3
import sys
import json
import subprocess
from time import sleep
from PyDMXControl.controllers import OpenDMXController
from PyDMXControl.profiles.Generic import Dimmer
## ask for input, play, wait for stop, ask again
# python3 mapchannels.py
# 0-255 dim / brightness range
# fadein, fadeout in milliseconds
brightness = 10
fadein = 1000
fadeout = 1000
data = json.load(open('sequence.json'))
print("\n * Reset USB device")
subprocess.call(['usbreset', "FT232R USB UART"])
print("\n ** DMX start...")
dmx = OpenDMXController()
## sort by "channel" -> channel/line number
lines = sorted(data, key=lambda x: x["channel"])
## remove dupes and add lights once in this order
channels = []
for l in lines:
if l['channel'] not in channels:
channels.append(l['channel'])
line = dmx.add_fixture(Dimmer, name=l['channel'])
print("\n All channel names:")
print(channels)
print()
#dmx.web_control()
try:
# forever until keyboard interrupt / ctrl-C
while 1>0:
print(" * Press 'CTRL-C' to EXIT, or ")
channelname = input(" - Enter channel name to fadein: ")
# invalid channelname
while channelname not in channels:
print(" !! Please check channel name !!")
print("\n All channel names:")
print(channels)
print()
channelname = input(" - Enter correct channel name: ")
print(f"\n - Play channel: {channelname}")
line = dmx.get_fixtures_by_name(channelname)[0]
line.dim(brightness, fadein)
x = input(f" - Press ANY key (+ENTER) to fadeout {channelname}")
line.dim(0, fadeout)
sleep(fadeout/1000 + 1)
print()
except KeyboardInterrupt:
line.dim(0, fadeout)
sleep(fadeout/1000 + 1)
dmx.close()
print()
sys.exit()
print()

60
playchannel.py Executable file
View File

@ -0,0 +1,60 @@
#!/usr/bin/python3
import sys
import json
import subprocess
from time import sleep
from PyDMXControl.controllers import OpenDMXController
from PyDMXControl.profiles.Generic import Dimmer
# python3 playchannel.py <channel/name>
channeltest = sys.argv[1]
# 0-255 dim / brightness range
# fadein, fadeout in milliseconds
brightness = 15
fadein = 1000
fadeout = 1000
data = json.load(open('sequence.json'))
print("\n * Reset USB device")
subprocess.call(['usbreset', "FT232R USB UART"])
print("\n ** DMX start...")
dmx = OpenDMXController()
## sort by "channel" -> channel/line number
lines = sorted(data, key=lambda x: x["channel"])
## remove dupes and add lights once in this order
channels = []
for l in lines:
if l['channel'] not in channels:
channels.append(l['channel'])
line = dmx.add_fixture(Dimmer, name=l['channel'])
#print("\nAll channels:")
#print(channels)
#dmx.web_control()
c = [ i for i in lines if i["channel"] == channeltest ]
print(f"\n - Play channel: {channeltest}")
print("\nSequence JSON entry:")
print(c)
print(f"fadein: {fadein}")
print(f"fadeout: {fadeout}")
try:
line = dmx.get_fixtures_by_name(channeltest)[0]
line.dim(brightness, fadein)
print("\n -*- Press Ctrl-C to stop...\n")
sleep(1000)
except KeyboardInterrupt:
line.dim(0, fadeout)
sleep(fadeout/1000 + 1)
dmx.close()
print()
sys.exit()
print()

864
sequence.json Normal file
View File

@ -0,0 +1,864 @@
[
{
"channel": "10hardevi",
"seq": 0,
"duration": 5,
"fadein": 0
},
{
"channel": "35parsramz",
"seq": 10,
"duration": 280
},
{
"channel": "50masterc",
"seq": 60,
"duration": 230
},
{
"channel": "44arjunh",
"seq": 110,
"duration": 180
},
{
"channel": "53narish",
"seq": 170,
"duration": 120
},
{
"channel": "22krishnas",
"seq": 295,
"duration": 215
},
{
"channel": "25rameshs",
"seq": 350,
"duration": 160
},
{
"channel": "31sureshs",
"seq": 515,
"duration": 9
},
{
"channel": "53narish",
"seq": 515,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 515,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 515,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 526,
"duration": 3
},
{
"channel": "41kamluj",
"seq": 526,
"duration": 3
},
{
"channel": "32arjan",
"seq": 526,
"duration": 3
},
{
"channel": "22krishnas",
"seq": 526,
"duration": 3
},
{
"channel": "31sureshs",
"seq": 526,
"duration": 184
},
{
"channel": "46bhaskars",
"seq": 580,
"duration": 130
},
{
"channel": "43mohank",
"seq": 715,
"duration": 245
},
{
"channel": "59narayanb",
"seq": 780,
"duration": 180
},
{
"channel": "07prahladc",
"seq": 850,
"duration": 110
},
{
"channel": "11govindbajaj",
"seq": 965,
"duration": 6
},
{
"channel": "17narak",
"seq": 965,
"duration": 6
},
{
"channel": "52ludib",
"seq": 965,
"duration": 6
},
{
"channel": "47gopalj",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 965,
"duration": 6
},
{
"channel": "05ramchandr",
"seq": 973,
"duration": 4
},
{
"channel": "47gopalj",
"seq": 973,
"duration": 4
},
{
"channel": "11govindbajaj",
"seq": 973,
"duration": 4
},
{
"channel": "52ludib",
"seq": 973,
"duration": 4
},
{
"channel": "17narak",
"seq": 973,
"duration": 237
},
{
"channel": "13hardasm",
"seq": 1070,
"duration": 240
},
{
"channel": "28gary",
"seq": 1170,
"duration": 140
},
{
"channel": "14hiralalbora",
"seq": 1220,
"duration": 90
},
{
"channel": "08bhaup",
"seq": 1315,
"duration": 8
},
{
"channel": "58drdharm",
"seq": 1315,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 1315,
"duration": 8
},
{
"channel": "29satid",
"seq": 1315,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 1315,
"duration": 8
},
{
"channel": "04baldevm",
"seq": 1315,
"duration": 8
},
{
"channel": "28gary",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1315,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 1315,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 1324,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 1324,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 1324,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 1324,
"duration": 2
},
{
"channel": "29satid",
"seq": 1324,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 1324,
"duration": 2
},
{
"channel": "28gary",
"seq": 1324,
"duration": 2
},
{
"channel": "04baldevm",
"seq": 1324,
"duration": 136
},
{
"channel": "58drdharm",
"seq": 1324,
"duration": 136
},
{
"channel": "16leelac",
"seq": 1465,
"duration": 140
},
{
"channel": "49rameshm",
"seq": 1530,
"duration": 290
},
{
"channel": "56nandc",
"seq": 1605,
"duration": 215
},
{
"channel": "55sundard",
"seq": 1680,
"duration": 140
},
{
"channel": "34murijm",
"seq": 1740,
"duration": 80
},
{
"channel": "08bhaup",
"seq": 1825,
"duration": 150
},
{
"channel": "02thakurc",
"seq": 1890,
"duration": 85
},
{
"channel": "38harchomal",
"seq": 1980,
"duration": 170
},
{
"channel": "19hemantr",
"seq": 2040,
"duration": 110
},
{
"channel": "28gary",
"seq": 2110,
"duration": 160
},
{
"channel": "55sundard",
"seq": 2170,
"duration": 100
},
{
"channel": "26hrat",
"seq": 2275,
"duration": 3
},
{
"channel": "20nrat",
"seq": 2275,
"duration": 3
},
{
"channel": "26hrat",
"seq": 2280,
"duration": 160
},
{
"channel": "20nrat",
"seq": 2350,
"duration": 90
},
{
"channel": "52ludib",
"seq": 2445,
"duration": 145
},
{
"channel": "11govindbajaj",
"seq": 2520,
"duration": 100
},
{
"channel": "50masterc",
"seq": 2625,
"duration": 240
},
{
"channel": "35parsramz",
"seq": 2670,
"duration": 195
},
{
"channel": "44arjunh",
"seq": 2745,
"duration": 120
},
{
"channel": "31sureshs",
"seq": 2870,
"duration": 9
},
{
"channel": "32arjan",
"seq": 2870,
"duration": 9
},
{
"channel": "22krishnas",
"seq": 2870,
"duration": 9
},
{
"channel": "41kamluj",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2870,
"duration": 9
},
{
"channel": "10hardevi",
"seq": 2880,
"duration": 4
},
{
"channel": "41kamluj",
"seq": 2880,
"duration": 4
},
{
"channel": "32arjan",
"seq": 2880,
"duration": 150
},
{
"channel": "22krishnas",
"seq": 2880,
"duration": 4
},
{
"channel": "31sureshs",
"seq": 2880,
"duration": 4
},
{
"channel": "10hardevi",
"seq": 2950,
"duration": 125
},
{
"channel": "01sunild",
"seq": 2950,
"duration": 125
},
{
"channel": "31sureshs",
"seq": 3080,
"duration": 120
},
{
"channel": "46bhaskars",
"seq": 3080,
"duration": 120
},
{
"channel": "58drdharm",
"seq": 3205,
"duration": 110
},
{
"channel": "22krishnas",
"seq": 3275,
"duration": 135
},
{
"channel": "25rameshs",
"seq": 3300,
"duration": 110
},
{
"channel": "37leenam",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3415,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3415,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3415,
"duration": 3
},
{
"channel": "53narish",
"seq": 3415,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3415,
"duration": 3
},
{
"channel": "14hiralalbora",
"seq": 3419,
"duration": 3
},
{
"channel": "55sundard",
"seq": 3419,
"duration": 3
},
{
"channel": "49rameshm",
"seq": 3419,
"duration": 3
},
{
"channel": "53narish",
"seq": 3419,
"duration": 3
},
{
"channel": "37leenam",
"seq": 3419,
"duration": 3
},
{
"channel": "16leelac",
"seq": 3419,
"duration": 241
},
{
"channel": "56nandc",
"seq": 3470,
"duration": 190
},
{
"channel": "17narak",
"seq": 3530,
"duration": 130
},
{
"channel": "55sundard",
"seq": 3600,
"duration": 60
},
{
"channel": "08bhaup",
"seq": 3665,
"duration": 8
},
{
"channel": "40sevarab",
"seq": 3665,
"duration": 8
},
{
"channel": "29satid",
"seq": 3665,
"duration": 8
},
{
"channel": "02thakurc",
"seq": 3665,
"duration": 8
},
{
"channel": "28gary",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3665,
"duration": 8
},
{
"channel": "59narayanb",
"seq": 3665,
"duration": 8
},
{
"channel": "13hardasm",
"seq": 3674,
"duration": 2
},
{
"channel": "59narayanb",
"seq": 3674,
"duration": 2
},
{
"channel": "08bhaup",
"seq": 3674,
"duration": 2
},
{
"channel": "40sevarab",
"seq": 3674,
"duration": 2
},
{
"channel": "02thakurc",
"seq": 3674,
"duration": 2
},
{
"channel": "28gary",
"seq": 3674,
"duration": 2
},
{
"channel": "29satid",
"seq": 3674,
"duration": 156
},
{
"channel": "23gopim",
"seq": 3730,
"duration": 100
},
{
"channel": "19hemantr",
"seq": 3780,
"duration": 70
},
{
"channel": "37leenam",
"seq": 3855,
"duration": 85
},
{
"channel": "26hrat",
"seq": 3945,
"duration": 165
},
{
"channel": "20nrat",
"seq": 3990,
"duration": 120
},
{
"channel": "41kamluj",
"seq": 4060,
"duration": 160
},
{
"channel": "02thakurc",
"seq": 4120,
"duration": 100
},
{
"channel": "34murijm",
"seq": 4180,
"duration": 165
},
{
"channel": "53narish",
"seq": 4240,
"duration": 105
},
{
"channel": "35parsramz",
"seq": 4350,
"duration": 100
},
{
"channel": "56nandc",
"seq": 4350,
"duration": 100
},
{
"channel": "59narayanb",
"seq": 4420,
"duration": 120
},
{
"channel": "04baldevm",
"seq": 4420,
"duration": 120
},
{
"channel": "28gary",
"seq": 4545,
"duration": 220
},
{
"channel": "40sevarab",
"seq": 4595,
"duration": 170
},
{
"channel": "32arjan",
"seq": 4645,
"duration": 120
},
{
"channel": "01sunild",
"seq": 4770,
"duration": 130
},
{
"channel": "10hardevi",
"seq": 4830,
"duration": 100,
"start_opt": "start"
},
{
"channel": "47gopalj"
},
{
"channel": "01sunild"
},
{
"channel": "02thakurc"
},
{
"channel": "03bl"
},
{
"channel": "04baldevm"
},
{
"channel": "05ramchandr"
},
{
"channel": "06bl"
},
{
"channel": "07prahladc"
},
{
"channel": "08bhaup"
},
{
"channel": "09bl"
},
{
"channel": "10hardevi"
},
{
"channel": "11govindbajaj"
},
{
"channel": "12bl"
},
{
"channel": "13hardasm"
},
{
"channel": "14hiralalbora"
},
{
"channel": "15bl"
},
{
"channel": "16leelac"
},
{
"channel": "17narak"
},
{
"channel": "18bl"
},
{
"channel": "19hemantr"
},
{
"channel": "20nrat"
},
{
"channel": "21bl"
},
{
"channel": "22krishnas"
},
{
"channel": "23gopim"
},
{
"channel": "24bl"
},
{
"channel": "25rameshs"
},
{
"channel": "26hrat"
},
{
"channel": "27bl"
},
{
"channel": "28gary"
},
{
"channel": "29satid"
},
{
"channel": "30bl"
},
{
"channel": "31sureshs"
},
{
"channel": "32arjan"
},
{
"channel": "33bl"
},
{
"channel": "34murijm"
},
{
"channel": "36bl"
},
{
"channel": "37leenam"
},
{
"channel": "38harchomal"
},
{
"channel": "39bl"
},
{
"channel": "40sevarab"
},
{
"channel": "41kamluj"
},
{
"channel": "42bl"
},
{
"channel": "43mohank"
},
{
"channel": "44arjunh"
},
{
"channel": "45bl"
},
{
"channel": "46bhaskars"
},
{
"channel": "47gopalj"
},
{
"channel": "48bl"
},
{
"channel": "49rameshm"
},
{
"channel": "50masterc"
},
{
"channel": "51s"
},
{
"channel": "52ludib"
},
{
"channel": "53narish"
},
{
"channel": "54s"
},
{
"channel": "55sundard"
},
{
"channel": "56nandc"
},
{
"channel": "57s"
},
{
"channel": "58drdharm"
},
{
"channel": "59narayanb"
},
{
"channel": "60s"
}
]

194
sequence.py Executable file
View File

@ -0,0 +1,194 @@
#!/usr/bin/python3
import os
import sys
import json
import subprocess
from time import sleep
from PyDMXControl.controllers import OpenDMXController
from PyDMXControl.profiles.Generic import Dimmer
import traceback
'''
# "channel" --> channel/line identifier, order as connected to DMX decoder
# seq -> "sequence" = position (seconds) on 'timeline' starting 0
# fadein / fadeout -> milliseconds
# duration -> seconds
# brightness -> 0-255 (optional entry in json, else use default)
'''
# DEFAULTS
# 0-255 dim / brightness range
default_brightness = 5
# fadein, fadeout (milliseconds)
default_fadein = 700
default_fadeout = 500
# wait for things to settle...
print("\n * Wait 15 seconds...")
sleep(15)
try:
base = os.path.expanduser("~/bin/dmx")
## COMMENT THIS SECTION WHEN TIMELINE IS FINAL
#with open(f"{base}/getseq/getspread.py") as getspread:
#exec(getspread.read())
##
data = json.load(open(f"{base}/sequence.json"))
except Exception as argh:
with open("zlog.txt", "a") as e:
e.write(" _____\n")
e.write(str(argh))
e.write(traceback.format_exc())
e.write('\n\n')
## ON events
def start_event(channel):
channel_start = {}
channel_start["channel"] = channel["channel"]
channel_start["event"] = "on"
channel_start["seq"] = channel["seq"]
if "brightness" in channel:
channel_start["brightness"] = int(channel["brightness"])
if "fadein" in channel:
channel_start["fadein"] = int(channel["fadein"])
return channel_start
## OFF events
def stop_event(channel):
channel_stop = {}
channel_stop["channel"] = channel["channel"]
channel_stop["event"] = "off"
# duration from 0
stop_time = channel["seq"] + channel["duration"]
channel_stop["seq"] = stop_time
if "fadeout" in channel:
channel_stop["fadeout"] = int(channel["fadeout"])
return channel_stop
## each 'time' (sec) an event occurs
def add_event(events, event):
if event["seq"] not in events:
events[event["seq"]] = []
# add start/on and stop/off events to respective times
events[event["seq"]].append(event)
return
try:
data_connected = [ l for l in data \
if ("seq" in l.keys() and l["seq"]!="") \
and ("duration" in l.keys() and l["duration"] != "") ]
## sort by sequence -> play in this order (timeline)
sequence = sorted(data_connected, key=lambda x: x["seq"])
# print(sequence)
## generate all (on / off) events
events = {}
for i in sequence:
i_start = start_event(i)
i_stop = stop_event(i)
# add start/on and stop/off events to respective 'times'
add_event(events, i_start)
add_event(events, i_stop)
# chronologically sort event KEYS (time in sec / seq )
chrono = list(events.keys())
chrono.sort()
# chronological timeline with events (using sorted KEYS/time)
timeline = { x: events[x] for x in chrono }
with open('timeline.json','w') as f:
json.dump(timeline, f, indent=2)
except Exception as argh:
with open("zlog.txt", "a") as e:
e.write(" _____\n")
e.write(str(argh))
e.write(traceback.format_exc())
e.write('\n\n')
try:
print("\n * Reset USB device")
subprocess.call(['usbreset', "FT232R USB UART"])
except Exception as argh:
with open("zlog.txt", "a") as e:
e.write(" _____\n")
e.write(str(argh))
e.write(traceback.format_exc())
e.write('\n\n')
try:
print("\n ** DMX start...")
dmx = OpenDMXController()
## sort by "channel" -> channel/line number
lines = sorted(data, key=lambda x: x["channel"])
## remove dupes and add lights to DMX once in this order --> [ channels ]
channels = []
for l in lines:
if l['channel'] not in channels:
channels.append(l['channel'])
line = dmx.add_fixture(Dimmer, name=l['channel'])
#print(channels)
#dmx.web_control()
except Exception as argh:
with open("zlog.txt", "a") as e:
e.write(" _____\n")
e.write(str(argh))
e.write(traceback.format_exc())
e.write('\n\n')
try:
# loop 'forever'
while 1 > 0:
print()
# begin timeline
print(" * Start timeline...")
t = 0
# for every t (seq)
for i in timeline:
# print(i, timeline[i])
if int(i) > 0:
# hold, count time from last event
sleep(int(i) - t)
for e in timeline[i]:
# for all events at t=i (seq)
line = dmx.get_fixtures_by_name(e["channel"])[0]
if e["event"] == "on":
# fadein value from json if there, else default
fadein = e.get("fadein", default_fadein)
# dim value from json if there, else default
bright = e.get("brightness", default_brightness)
print(f" - {e['seq']}s | #{e['channel']} {e['event'].upper()} (brightness: {bright}, fadein: {fadein})")
line.dim(bright, fadein)
if e["event"] == "off":
# fadeout value from json if there, else default
fadeout = e.get("fadeout", default_fadeout)
print(f" - {e['seq']}s | #{e['channel']} {e['event'].upper()} (fadeout: {fadeout})")
line.dim(0, fadeout)
#sleep(fadeout/1000 + 2) ## to prevent crossfade
# now this is previous t for next event
t = i
# print to stdout next event info ## use chrono (keys list)
if i != chrono[-1]:
next_t = chrono[chrono.index(i)+1]
tt = next_t-int(i)
next_event = f" \ Next event [seq={next_t}] in {tt}s"
else:
next_event = " - Last event of sequence"
print(next_event)
except KeyboardInterrupt:
print()
for e in timeline[i]:
# for all events at t=i (seq)
line = dmx.get_fixtures_by_name(e["channel"])[0]
line.dim(0, 1000)
sleep(2)
dmx.close()
sys.exit()
except Exception as argh:
with open("zlog.txt", "a") as e:
e.write(" _____\n")
e.write(str(argh))
e.write(traceback.format_exc())
e.write('\n\n')
dmx.close()

1593
timeline.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,20 @@
[Unit]
Description=Run sequence.py in tmux sess
# wait for network to come up
#After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
User=light
Group=light
WorkingDirectory=/home/light/bin/dmx
ExecStartPost=/bin/sleep 11
# Start a new tmux session named "light"
# run Python script in the tmux session
ExecStart=/usr/bin/tmux new-session -s light -d "python3 sequence.py"
ExecStop=/usr/bin/tmux kill-session -t light
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,19 @@
[Unit]
Description=Run sequence.py in tmux sess
# wait for network to come up
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
User=light
Group=light
WorkingDirectory=/home/light/bin/dmx
# Start a new tmux session named "light"
# run Python script in the tmux session
ExecStart=/usr/bin/tmux new-session -s light -d "python3 sequence.py"
ExecStop=/usr/bin/tmux kill-session -t light
[Install]
WantedBy=multi-user.target

199
zztest_NOdmx.py Normal file
View File

@ -0,0 +1,199 @@
#!/usr/bin/python3
import os
import sys
import json
import subprocess
from time import sleep
import traceback
#from PyDMXControl.controllers import OpenDMXController
#from PyDMXControl.profiles.Generic import Dimmer
'''
# "channel" --> channel/line identifier, order as connected to DMX decoder
# seq -> "sequence" = position (seconds) on 'timeline' starting 0
# fadein / fadeout -> milliseconds
# duration -> seconds
# brightness -> 0-255 (optional entry in json, else use default)
'''
base = os.path.expanduser("~/bin/dmx")
## COMMENT THIS SECTION WHEN TIMELINE IS FINAL
with open(f"{base}/getseq/getspread.py") as getspread:
exec(getspread.read())
##
# DEFAULTS
# 0-255 dim / brightness range
default_brightness = 10
# fadein, fadeout (milliseconds)
default_fadein = 1000
default_fadeout = 1000
## if "start' not entered in 'start_opt' column, default start is 0
## subtract start_opt_time from on and off events
start_opt_time = 0
data = json.load(open('sequence.json'))
## ON events
def start_event(channel):
channel_start = {}
channel_start["channel"] = channel["channel"]
channel_start["event"] = "on"
channel_start["seq"] = channel["seq"] - start_opt_time
if "brightness" in channel:
channel_start["brightness"] = int(channel["brightness"])
if "fadein" in channel:
channel_start["fadein"] = int(channel["fadein"])
return channel_start
## OFF events
def stop_event(channel):
channel_stop = {}
channel_stop["channel"] = channel["channel"]
channel_stop["event"] = "off"
# duration from 0
stop_time = channel["seq"] + channel["duration"] - start_opt_time
channel_stop["seq"] = stop_time
if "fadeout" in channel:
channel_stop["fadeout"] = int(channel["fadeout"])
return channel_stop
## each 'time' (sec) an event occurs
def add_event(events_dict, event):
if event["seq"] not in events:
events_dict[event["seq"]] = []
# add start/on and stop/off events to respective times
events_dict[event["seq"]].append(event)
return
data_connected = [ l for l in data \
if ("seq" in l.keys() and l["seq"]!="") \
and ("duration" in l.keys() and l["duration"] != "") ]
## sort by sequence -> play in this order (timeline)
sequence = sorted(data_connected, key=lambda x: x["seq"])
# print(sequence)
# start_opt_time -> if 'start' in calc, start playing from that point
for i in sequence:
if "start_opt" in i:
start_opt_time = int(i['seq'])
break
## generate all (on / off) events
events = {}
for i in sequence:
i_start = start_event(i)
i_stop = stop_event(i)
# add start/on and stop/off events to respective 'times'
add_event(events, i_start)
add_event(events, i_stop)
# chronologically sort event KEYS (time in sec / seq )
chrono = list(events.keys())
chrono.sort()
# chronological timeline with events (using sorted KEYS/time)
timeline = { x: events[x] for x in chrono if x >= 0 }
# if seq==0 and "event"=="off" -> remove / don't add
for e in timeline[0]:
if e["event"] == "off":
timeline[0].remove(e)
# MID-START fix for 'previous-ONs' - on before start
channs = []
for t in timeline:
for c in timeline[t]:
if c['event'] == 'on':
channs.append(c['channel'])
if c['event'] == 'off':
if c['channel'] not in channs:
channs.append(c['channel'])
else:
channs.remove(c['channel'])
##print(channs)
for ch in channs:
timeline[0].append({"channel": ch, "event": "on", "seq": 0})
with open('timeline.json','w') as f:
json.dump(timeline, f, indent=2)
# wait for things to settle...
print("\n * Wait 3 seconds...")
sleep(3)
print("\n * Reset USB device")
subprocess.call(['usbreset', "FT232R USB UART"])
print("\n ** DMX start...")
##dmx = OpenDMXController()
## sort by "channel" -> channel/line number
lines = sorted(data, key=lambda x: x["channel"])
## remove dupes and add lights to DMX once in this order --> [ channels ]
channels = []
for l in lines:
if l['channel'] not in channels:
channels.append(l['channel'])
##line = dmx.add_fixture(Dimmer, name=l['channel'])
#print(channels)
#dmx.web_control()
try:
# loop 'forever'
while 1 > 0:
print()
# begin timeline
print(" * Start timeline...")
print(f" - start at seq: {start_opt_time}")
t = 0
# for every t (seq)
for i in timeline:
# print(i, timeline[i])
if int(i) > 0:
# hold, count time from last event
sleep(int(i) - t)
for e in timeline[i]:
# for all events at t=i (seq)
##line = dmx.get_fixtures_by_name(e["channel"])[0]
if e["event"] == "on":
# fadein value from json if there, else default
fadein = e.get("fadein", default_fadein)
# dim value from json if there, else default
bright = e.get("brightness", default_brightness)
print(f" - {e['seq']}s | #{e['channel']} {e['event'].upper()} (brightness: {bright}, fadein: {fadein})")
##line.dim(bright, fadein)
if e["event"] == "off":
# fadeout value from json if there, else default
fadeout = e.get("fadeout", default_fadeout)
print(f" - {e['seq']}s | #{e['channel']} {e['event'].upper()} (fadeout: {fadeout})")
##line.dim(0, fadeout)
# now this is previous t for next event
t = i
# print to stdout next event info ## use chrono (keys list)
if i != chrono[-1]:
next_t = chrono[chrono.index(i)+1]
tt = next_t-int(i)
next_event = f" \ Next event [seq={next_t}] in {tt}s"
else:
next_event = " - Last event of sequence"
print(next_event)
except KeyboardInterrupt:
print()
for e in timeline[i]:
print(e["channel"]) # for all events at t=i (seq)
##line = dmx.get_fixtures_by_name(e["channel"])[0]
##line.dim(0, 1000)
sleep(2)
##dmx.close()
sys.exit()
except Exception as argh:
with open("zlog.txt", "a") as e:
e.write(" _____")
e.write(str(argh))
e.write(traceback.format_exc())
e.write('\n\n')
##dmx.close()

200
zztest_sequence.py Normal file
View File

@ -0,0 +1,200 @@
#!/usr/bin/python3
import os
import sys
import json
import subprocess
from time import sleep
from PyDMXControl.controllers import OpenDMXController
from PyDMXControl.profiles.Generic import Dimmer
import traceback
'''
# "channel" --> channel/line identifier, order as connected to DMX decoder
# seq -> "sequence" = position (seconds) on 'timeline' starting 0
# fadein / fadeout -> milliseconds
# duration -> seconds
# brightness -> 0-255 (optional entry in json, else use default)
'''
base = os.path.expanduser("~/bin/dmx")
## COMMENT THIS SECTION WHEN TIMELINE IS FINAL
with open(f"{base}/getseq/getspread.py") as getspread:
exec(getspread.read())
##
# DEFAULTS
# 0-255 dim / brightness range
default_brightness = 5
# fadein, fadeout (milliseconds)
default_fadein = 500
default_fadeout = 300
## if "start' not entered in 'start_opt' column, default start is 0
## subtract start_opt_time from on and off events
start_opt_time = 0
data = json.load(open('sequence.json'))
## ON events
def start_event(channel):
channel_start = {}
channel_start["channel"] = channel["channel"]
channel_start["event"] = "on"
channel_start["seq"] = channel["seq"] - start_opt_time
if "brightness" in channel:
channel_start["brightness"] = int(channel["brightness"])
if "fadein" in channel:
channel_start["fadein"] = int(channel["fadein"])
return channel_start
## OFF events
def stop_event(channel):
channel_stop = {}
channel_stop["channel"] = channel["channel"]
channel_stop["event"] = "off"
# duration from 0
stop_time = channel["seq"] + channel["duration"] - start_opt_time
channel_stop["seq"] = stop_time
if "fadeout" in channel:
channel_stop["fadeout"] = int(channel["fadeout"])
return channel_stop
## each 'time' (sec) an event occurs
def add_event(events_dict, event):
if event["seq"] not in events:
events_dict[event["seq"]] = []
# add start/on and stop/off events to respective times
events_dict[event["seq"]].append(event)
return
data_connected = [ l for l in data \
if ("seq" in l.keys() and l["seq"]!="") \
and ("duration" in l.keys() and l["duration"] != "") ]
## sort by sequence -> play in this order (timeline)
sequence = sorted(data_connected, key=lambda x: x["seq"])
# print(sequence)
# start_opt_time -> if 'start' in calc, start playing from that point
for i in sequence:
if "start_opt" in i:
start_opt_time = int(i['seq'])
break
## generate all (on / off) events
events = {}
for i in sequence:
i_start = start_event(i)
i_stop = stop_event(i)
# add start/on and stop/off events to respective 'times'
add_event(events, i_start)
add_event(events, i_stop)
# chronologically sort event KEYS (time in sec / seq )
chrono = list(events.keys())
chrono.sort()
# chronological timeline with events (using sorted KEYS/time)
timeline = { x: events[x] for x in chrono if x >= 0 }
# if seq==0 and "event"=="off" -> remove / don't add [both on/off at 0]
for e in timeline[0]:
if e["event"] == "off":
timeline[0].remove(e)
# MID-START fix for 'previous-ONs' - on before start
channs = []
for t in timeline:
for c in timeline[t]:
if c['event'] == 'on':
channs.append(c['channel'])
if c['event'] == 'off':
if c['channel'] not in channs:
channs.append(c['channel'])
else:
channs.remove(c['channel'])
##print(channs)
for ch in channs:
timeline[0].append({"channel": ch, "event": "on", "seq": 0})
with open('timeline.json','w') as f:
json.dump(timeline, f, indent=2)
# wait for things to settle...
print("\n * Wait 3 seconds...")
sleep(3)
print("\n * Reset USB device")
subprocess.call(['usbreset', "FT232R USB UART"])
print("\n ** DMX start...")
dmx = OpenDMXController()
## sort by "channel" -> channel/line number
lines = sorted(data, key=lambda x: x["channel"])
## remove dupes and add lights to DMX once in this order --> [ channels ]
channels = []
for l in lines:
if l['channel'] not in channels:
channels.append(l['channel'])
line = dmx.add_fixture(Dimmer, name=l['channel'])
#print(channels)
#dmx.web_control()
try:
# loop 'forever'
while 1 > 0:
print()
# begin timeline
print(" * Start timeline...")
print(f" - start at seq: {start_opt_time}")
t = 0
# for every t (seq)
for i in timeline:
# print(i, timeline[i])
if int(i) > 0:
# hold, count time from last event
sleep(int(i) - t)
for e in timeline[i]:
# for all events at t=i (seq)
line = dmx.get_fixtures_by_name(e["channel"])[0]
if e["event"] == "on":
# dim value from json if there, else default
bright = e.get("brightness", default_brightness)
# fadein value from json if there, else default
fadein = e.get("fadein", default_fadein)
print(f" - {e['seq']}s | #{e['channel']} {e['event'].upper()} (brightness: {bright}, fadein: {fadein})")
line.dim(bright, fadein)
if e["event"] == "off":
# fadeout value from json if there, else default
fadeout = e.get("fadeout", default_fadeout)
print(f" - {e['seq']}s | #{e['channel']} {e['event'].upper()} (fadeout: {fadeout})")
line.dim(0, fadeout)
# now this is previous t for next event
t = i
# print to stdout next event info ## use chrono (keys list)
if i != chrono[-1]:
next_t = chrono[chrono.index(i)+1]
tt = next_t-int(i)
next_event = f" \ Next event [seq={next_t}] in {tt}s"
else:
next_event = " - Last event of sequence"
print(next_event)
except KeyboardInterrupt:
print()
for e in timeline[i]:
# for all events at t=i (seq)
line = dmx.get_fixtures_by_name(e["channel"])[0]
line.dim(0, 1000)
sleep(2)
dmx.close()
sys.exit()
except Exception as argh:
with open("zlog.txt", "a") as e:
e.write(" _____")
e.write(str(argh))
e.write(traceback.format_exc())
e.write('\n\n')
dmx.close()