-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
266 lines (249 loc) · 13.8 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
This file contains a list of possible changes that are planned for the
future. No promises are made as to when I'll get to implement them.
Your feedback is always welcome, so feel free to mail me if you want to
boost any item's priority, find more points that need to be fixed or if
you have ideas for additional features.
Post-Nextview EPG:
- Network selection dialog: on the left show only removed networks
- Network name selection dialog: Show all channel name variants listed in XMLTV
- Replace recurring titles drop-down menu with listbox
- update xmltv.dtd support (e.g. video/audio "present")
- change AI/PI to hold original XMLTV info elements (i.e. reduce conversion)
e.g. parental rating: store native string; support multiple ratings
- XMLTV DTD declares <programme> as optional
- show progress bar during XMLTV import after 100ms
- during XMLTV import, skip programmes from channels de-selected by user
- netwop filter list: improve selection mode: Key-Up/Down should not update filter
- netwop filter list: typing alphanumeric key opens search overlay: jump to name matching prefix
- remove use of CNI for networks: use "netwop" index instead for browser
use XMLTV channel_id for configuration (netwop selection, netname)
- allow merge of different channel ID from different providers;
requires porting title and description merge to UTF ("TODO" in epgdbmerge, pidescr)
- Remove merge provider limit of 63 (MAX_MERGED_DB_COUNT)
- Remove RC file limit for netwop selection 8192 (RC_MAX_DB_NETWOPS)
- netwop name config start: for after auto-config message, do not count names that were exactly the same
- XMLTV service name: when merging teletext-only use "Merged teletext (%d networks)"
- bad error message when using "Load teletext EPG" and no files available yet
- daemon mode: ? make work independent of TV app & ttx grabber cfg. (e.g. windows)
- stats db histogram, merged db: show percentage of DBs updated during last 12-24 hours
- stats db histogram: add tool-tip to each pie of the chart (showing legend & percentage)
- stats timescale: "acq tail": highlight networks/time ranges acq is working for
- stats timescale: keep network names visible even when scrolling
- stats timescale: scroll to make "now" visible upon opening
- stats timescale: window position jumps to 0/0 screen coord upon DB updates
- stats acquisition/teletext: add overall acq. runtime (i.e. in addition to per-channel time)
- move USE_TTX_GRABBER to exclude all acqusition if not set -> use for WIN32?
- merge dialog, "configure" sub-menu: simplify to single list with
"extended" selection (i.e. allow multiple selections)
- merge dialog: use multi-col table & display networks
- netname dialog: add warning that names should be changed in channels.conf?
- DVB TTX stream decoding issues: "Illegal line order", "Unknown data_unit_id"
- DVB: suppress TTX header change detection
- replace "now" acq phase with DVB EPG (EIT) except for analog TV cards
- mplayer, VLC & VDR plugin for EPG display
- teletext: use separate thread for post-processing (takes long time for 10 DBs)
- teletext: ? move TTX packet decoding into acq thread?
- teletext: use mtime delta to determine start channel of acq
- teletext acq stats: percentage cycle loaded (i.e. cycles done vs. max. sub-page count)
- teletext configuration dialog: allow channel-specific config of page range, exclusion & duration
- teletext emit XML encoding UTF-8
- Win32: upgrade bundled Tcl/Tk library from version 8.5 to 8.6
- port to WIN32: "Broadcast Driver Architecture" (filter graph)
- move "air times" config from GUI/Tcl config section into C section
XMLTV dtd:
- skipped <programme> tags:
- keyword
- language
- orig-language
- country
- date
- length
- episode-num
- url
- icon
- image
- video <aspect>: store actual ratio instead of "wide" flag
- video <quality>: store PCDATA
- <premiere>, <last-chance>: store PCDATA
- <rating>: store PCDATA, allow multiple ratings of different systems
- <star-rating>: allow multiple ratings of different systems
- <previously-shown>: store attributes
Missing documentation:
- TV Tune config in context menu dialog
- WDM and source "none" in Win32 TV card config dialog
- german manual lacks filter list for -epgquery
Teletext grabber:
- improve TTX parser (-> failing parsertest pages)
- stats output:
- describe errors (i.e. keep grabber's STDERR) ? send to daemon ?
- daemon send CNI or last processed DB to client (for stats popup only)
? stats popup show db stats of last processed XMLTV ?
+ channel ID & official name (e.g. ard.de - ARD)
+ number of newly captured pgrogrammes (# slots in overview)
total number of available programmes (new & merged)
+ number of descriptions & unresolved TTX links
+ number of used overview pages
+ page range used for overview
+ sub-page depth of overview pages & descriptions
percentag of multi-pages in overview and descriptions
- acq start: if last acq was aborted, continue seamless
- determine age of XML files
- determine delta between oldest and newest
? post-processing must "touch" files from channels with no reception ?
- if age of newest is <2h and delta >2h (or acq cycle time?)
-> mark newer ones done (or move them to the end?)
- passive acq mode for ttx grabber
- start grabber after 30 sec (if in NOW phase), next after 2min (reuse data)
? stop grabbing after 2nd grabber start (don't waste CPU) ?
- ttxdecode: handle page range <800->800, i.e. split 700-799,000-099
- reduce parity errors during repeated reception
- both during XMLTV merge and VBI packet reception
- check if all sub-pages are captured (on relevant pages only!)
? implement in nxtvepg or external post-processor ?
- make overview page range configurable?
- configure list of networks for ttx acq
- config dialog:
- check if TV app is configured and channel table can be parsed
- display channels which will be captured by name (e.g. "ARD - MTV")
- configure database directory for generated XML output
OR: use the same as for nextview EPG data
? separate channel list or at least channel count for Now/Next ?
- display EPG into in connected TV app, even if captured "late" from TTX
XMLTV import:
- pass user language selection to XML parser: may be used to select between
elements available in multiple languages
- programmes with start time only should not be discarded
automatically set stop time to start of subsequent programme
XICCC TODO:
- large data transfers
- free data after reception
- remove dead peers from permanent station update queue
Reminders TODO:
- acq: update event timer for PI starting in +15 - minimal pre-offset
- fuzzy matching (for PI w/o PIL) to catch shifted start times
Possible future reminder options:
- allow to edit programme's reminder title (e.g. to add notes)?
problem: disables possibility of fuzzy match on titles
- after manual repeat: remove single PI for shortcuts? (needs extra flag)
- state in reminder list: display min/hours/days until next event?
(cumbersome since it requires to be updated every minute)
- snooze (i.e. repeat) for user-confirmed commands?
- include clock in reminder popup?
- allow to specify format (attribute selection) for reminder event popup and
optionally include "short info" window in popups (i.e. description) (Joerk)
- use VPS/PDC to detect actual programme's start time
problem: only possible while TV display switched off or on the same channel
unless the user has multiple cards; even then coord. with acq. is required
- don't suppress outdated message for new reminder if it's the last one? (Peter)
- pass reminders to external scheduler immediately upon creation (Steffen)
note: probably also pass removals and changes to external scheduler
- simplify use of shortcuts in reminders (e.g. combine shortcut creation
with reminder addition in "Add reminder for filter" menu entry)
Recently (anno 2006) suggested fixes & changes:
- TV app shm: resend info for same channel (req. by zoomin)
also: add more EPG info to shared memory; add video norm to shm
also: synchronize timer list with ZoomOut
also: slicer type selection or better slicer in K!TV
also: display reminders in K!TV (esp. in fullscreen mode; Denis Witt)
- single click on short-info size slider: resize by one line
- start time search: abs. stop time val "23:10" excludes titles starting at 23:10
- improve text search: keywords (google style AND), parity-safe/fuzzy
- parity-safe short/long info redundancy removal
- series filter based on title instead of provider-supplied series codes
possibly allow manually maintained series list (i.e.title/CNIs couples)
- allow provider channel names at the -prov command line arg
- HTML dump: allow to specify which column to use for hyperlink?
- new PI column type which displays full weekday name (Thierry)
- graying out filtered programmes instead of removing them
- marking attributes which match current filter in the description window,
esp. for text search (Volker Moell)
- allow multiple, non-continguous selections in shortcut & networks listbox
without use of the keyboard (like in -selectmode multiple)
(suggested via discussion forum by "Philippe")
- optionally hide short-info window -> display with double-click
- add note to acq config dlg: does not affect display db
- weekday scale for grid layout: additional column (Thierry)
- split network prefilter into 2 parts: excluded and unlisted: latter ones are
still part of filter menus and used for reminder shortcut matches
- add flag to shortcuts which enables "auto-selection" after filter reset: will
allow pre-filtering for other criteria than networks (e.g. remove all sports)
- delayed rc/ini save after shortcut tree changes (e.g. folder open/close)
- vertical scrollbar for timescale window (forum 2003-12-31)
- option to ask before quitting nxtvepg with "X" window title bar button
or to send to systray instead (forum 2004-01-16)
- bayesian filter to highlight programmes (forum 2004-03-20)
- free configuration of key and mouse bindings
- save system encoding setting at the time of rc writing into rc file
so that correct conversion is used during reload
- add "Help" button to error popup messages
- epgdbfil.c: clean solution for text search string length limit
"NetBox" aka "grid" layout: open issues/known problems:
- refresh may leave excessive gaps between items
- special marker row between different days?
- changing column count/width by resizing outer window?
- possible additional formatting options:
+ wrap text (e.g. for title, or even description)
+ align text: left/center/right
Acquisition daemon:
- VPS: trigger check device access via remove cmd (upon xawtv start/exit)
optional:
- cmdline option -non-shared-dbdir: suck the complete db through the pipe
win32 port:
- install daemon as a service, possibly with helper app. in the systray
to check acquisition status.
- add support for named pipes as alternative to TCP/IP
- TV app interaction, at least to free the driver and use TV app for acq
xawtv TV app interaction:
- Tune-TV: warn if station name is not in .xawtv?
- Tune-TV: offer to start TV application if not running?
may not work if app. requires command line options
- VPS empty/pause codes display
WIN32 port fixes:
- use TV app directory in shared memory for auto-configuration
- allow manual horizontal resizing for grid layout
- menubutton popups does not work when invoked for the 2nd time via
ALT key binding (Thierry)
- save main window position in INI file (when manually changed; Thierry)
- start with main window maximized when requested in Windows shortcut properties
(requested by Thierry; I've no idea how to query these properties though)
- systray popup menu should close by any mouse click outside of it
- Tcl/Tk panic after desktop resolution change (e.g. to start fullscreen game)
Tk panic in color palette handling, leads to program abort
possibly use WM_DISPLAYCHANGE to restart
- catch WM_POWERBROADCAST, PBT_APMRESUMESUSPEND to catch power mode changes
WDM:
- DLL must not depend on proprietary MS DLL
- frequency mapping
- clean interface declaration: API.txt vs. WDMDRV.h
API version control
- device path query function
- exception handling: call AcqStop regardles of current thread?
- sometimes crash at end or abort of EPG scan
- SelectDevice fails after unload/reload of DLL
merged database fixes:
- fine control for provider merge
(e.g. average editorial rating instead of first)
other required fixes:
- epgdbmerge.c: AI merge: design fixes (don't modify caller's CNI array)
- automatically show expired PI in the database when still running
(according to VPS/PDC) when following TV channel changes
- netwop name config: counts names to "automatic selection"
even if there was just one provider (or just one with that netwop)
note: no xawtv sync is done, so it must only appear if there's more than one provider
- startup: if nxtvepg version is incompatible don't recommend prov selection
possible new features: (in order of decreasing priority)
- use Qt or GTK library instead of Tk to make GUI more pretty
main problem: filter shortcut and configuration is implemented in Tcl
- allow acquisition from multiple TV cards and remote daemons
- export database content to mysql server (with updates during acquisition)
- dialogs, menus and help texts in German and French
- wish list: maintain list of search filters that are applied each time new
data has been acquired; notify the user when a matching programme is found
for the first time. This can be used for a list of favourite movies or actors
- links to Internet Movie Database from titles and actor's names
main difficulties: finding out the original title from the national AKA
and fuzzy-matching actor's names in the description
- provider selection: display db age & fill percentage
save stats and start time of 1st PI in db header
- wizard for initial configuration (esp. in Windows; suggested by "zoomin")
- highlight matching description text when using sub-string search filter