-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
90 lines (77 loc) · 2.72 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
What to do and how:
+ file upload fucks up!:: b/c tracks_path doesnt exist
+ empty searches?! :: b/c lua evals 0 to true + fields is empty
+ getracks 01.fuck up.
+ empty upload fucks up
+ get nonexistant track fucks up
wishlist:
- edit page :: WIP..
. iterate over fields
. hide some fields
. search -> edit button
- edit page adds tags
- error messages
- (add to .. ) playlist builder
- create program dialog (with sched picker)
- show schedule
- delete track/playlist{track}/playlist/program/
- get_next:
knows about silences, metadata, can queue songs
knows about shows & jingles
knows playtime, repeat count and can warn
knows the song will play
something skips to next to keep schedules
* get_end: increment played
* get_meta: metadata for current song
- metadata switchover
- metadata 2 PAD
* get_program: what is playing, when?
* ls: next (song, metadata, timecode)
- ls<->hangover<->irc
station is a selector and a timeline
one timeline per station (account for multitrack stuff later)
=actualized program for given timeperiod is set of program:<start,end,{transitions}>
while preserving the most-specific-match-first principle for precedence.
program is set of selectors and playlists.
top-down example:
{ station: oslo bass radio,
selector: { random{all songs}} # for random 10 in search()
timeline: {
program:morn {{ 5h-14h}, selector: morning songs},
program:midd {{14h-21h}, selector: midday songs},
program:eve {{21h-04h}, selector: evening songs},
program:schizo pinguino {sundays 12}, selector: playlist: {show 1, jingle 2, blah 3}}
program: keystone jingle {every 34 min}, selector: {tag: jingles},
program: live spot { switch to feed blah at {button / time } if available
}
how to prevent jingles cutting shows?
- create strict rules of precedence
.never played before
.shorter is better
."strict start/stop? / transitions"
.overlaid? (strict but doesnt cut)
.force people to PLAN. if your show runs overtime, and there is a new show after, well, you were warned.
concurrent?
copas -- not really concurrent?
concurrentlua -- fantastic, but will it jell?
fuck it, concurrency is in the many-users
luvit if anything..
database?
tokyo has some shortcummings
-- esp. with regards to searches
-- concurrent axx: lua-tokyotyrant? daurnimator again
redis or riak?
-- redis has lua iface
-- riak has http iface
interface coding:
create program {name= time= endtime= owner=}
search tracks
-> track tagger/editor
->
-> playlist builder
-> selector builder -> example playlist -> "realized playlist"
^
program builder \
|| live show scheduler
||
schedule display