Program TODO list in plain text format:
=====================================
Sub Studio SAMI "What To DO" list.
=====================================
$Id: todo.html,v 1.2 2001/09/05 16:25:20 antonz Exp $
==============================================================================
NOTE: This file can contain technical information hard to understand
by most of users. Beware! ;-)
==============================================================================
==============================================================================
>>> Features that must be done in 1.0.0 release (End of July 2001):
----------------------------------------------------------------------------
TODO ID | Text
----------------------------------------------------------------------------
#0.1[~95%] Users registration support.
#0.2[~90%] SAMI format open & save.
#0.3[----] Import of:
[ 95%] MicroDVD format,
[ 95%] *.SRT (SubRIP) format.
#0.4[----] Export of:
[ 95%] MicroDVD format,
[ 95%] *.SRT (SubRIP) format.
#0.5[ 90%] Media Player:
[ 99%] Stop, play, pause, rewind.
[ 99%] Display: current time, current frame.
#0.6[----] Subtitle Bar:
[ 90%] Display SYNCs, select SYNCs. select multiple SYNCs.
[ 90%] Delete selected SYNC(s).
[ 50%] Split selected SYNC.
[ 0%] Join SYNCs.
#0.7[----] Selected SYNC Bar:
[ 80%] Edit text.
[ 90%] Process Non-breaking space "nbsp", "lt" "gt" and others (only popular) entities.
[ 80%] Process "BR" tag.
[ 70%] Switching of styles. [Maybe in 1.1 release???].
#0.8[----] SAMI file options:
[100%] TITLE.
[ 90%] Statistics.
[ 99%] Generator information.
[ 0%] Author.
[ 0%] Other (???).
#0.9[----] Misc:
==============================================================================
>>> Features planned for implementation in upcoming 1.x.x releases
(v1.1 estimated ~ at End of August 2001 -- Begin of September 2001).
----------------------------------------------------------------------------
TODO ID | Text
----------------------------------------------------------------------------
#1.01 Import/Export of many others subtitle formats
(SSA, SubViewer [*.SUB], other...).
#1.02 More editable "SamiParam"s to support: Copyright, Description etc.
#1.03 Editing of multiple CSS style blocks. Support of special
CSS blocks: Multi-Language, SourceID, "#Block"s.
#1.04 SAMI 'file layer' services:
* Save/load/import/export selected region.
* Save/load/import/export selected language SYNCs.
* Join of current SAMI file with other SAMi file or another
format file.
* Overlay other SAMI file or another format file on top
of current (maybe as option to previous feature or load/import
feature.
#1.05 SAMI 'SYNC layer' services:
* Support Bold, Italic and other "in-line" features.
#1.06 More fast SAMI parser (for example: minimize use of classes
and AnsiString's in parser, do all tasks with static char arrays).
#1.07 Make tags parsing mechanism more errors recoverable.
If found invalid or not supported tag then warning and prompt for
continue then skip all text until closing tag.
#1.08 Move long-time CPU consuming operations (save, load, import,
export, parse) to own Thread so User Interface will not be locked
by this operations.
#1.09 Add multilanguage UI support (resources or ini-like files).
#1.10 Implement MRU (Most recent used) list in file menu.
#1.11 Store windows position and state (maximized/minimized) in
Registry.
#1.12 Video stream centering and zooming.
#1.13 Dumping log to file by "Dump" button in log window or on exit.
#1.14 Full support of SAMI standard: "SAMIParam"s in Microsoft
style ("ParamName {Param1:Value1; Param2:Value2}").
(Already partially done).
H1-H6 and other HTML tags, "ShowImg" & "SpanID" tags.
#1.15 [DONE] Keyboard shortcuts to all operations: select sync, set sync time,
video play/pause/stop/frame back/frame fwd operations.
#1.16 Undo/Redo system.
#1.17 Edit menu and Cut/Copy/Paste for Sync's or maybe for text only???
#1.18 Draw selection bar while selecting and dragging cursor
(not only after end of selection).
#1.19 Display useful information in Hint of Timeline:
Start + End time while selecting, current sync number and start
time while cursor over "Working Area" timeline... and other.
#1.20 WYSIWYG preview of subtitles while playing video (Maybe through
WMP interfaces).
#1.21 TRegistryWrapper for easy work with registry (with default
values for not existent params and without this damn
Registry exceptions).
#1.22 Do backup of old file on save/export and delete this
backup file after successful operation.
#1.23 Do write (or maybe even read) locking on working file
to prevent conflict situations caused by two programs working on
same file simultaneously on one machine or through network.
#1.24 Implement "Repaint" procedure on MediaPanel while Media is paused
so frame content will not be cleared by overlaying windows etc...
#1.25 Indicator of MediaPlayer status (possible as small PaintBox
with media icons on Media ToolBar.
#1.26 "Select Sync at current position" button, Ctrl-Enter shortcut.
#1.27 Small example video (~50-100Kb, low-bitrate, low-quality, MPEG4v2)
with ~30 sec. length and very small multilanguage/multistyle
SAMI example.
#1.28 "Select All" feature by Double-Clicking on "Total Timeline".
#1.29 Move "Slack time" option to Registry
(currently stored in each file in SamiParam's section).
#1.30 Full support of MicroDVD standard: "unclosed ending frame",
"control codes", and "default values".
(I must read help of MicroDVD player for details).
#1.31 Support SAMIParam's in another (third) format:
"variable=value".
==============================================================================
>>> Features planned for implementation in far future
2.x.x releases (End of 2001 year -- Begin of 2002 year).
----------------------------------------------------------------------------
TODO ID | Text
----------------------------------------------------------------------------
#2.01 Embedding subtitles to video stream.
#2.02 MDI (Multi Document Interface) UI. ???
#2.03 OCR Scan of subtitles from video stream (most brain-consuming
task to implement).
#2.04 Develop extensions to SAMI format (compatible with standard
format) that allows placing many SYNCs in any position on frame
independent one from other (maybe group them to so-called layers).
Lets call this format RichSAMI.
Or use SMIL W3C standard format for this purposes.
#2.05 [Maybe as separate project]. Tool to remove subtitles
from video streams.
#2.06 [As separate project]. Freeware SAMI, SMIL & RichSAMI renderer
implemented as DirectShow filter. So rendering subtitles
will be independent from player.
#2.07 Switch to parsing SAMI files by IE (through COM interfaces?)
or other standard library (maybe DOM standard also help?).
#2.08 Move to MFC library and VisualC++. ???
#2.09 Do all operations with video using multimedia API
or DirectShow API (currently standard TMediaPlayer component used).
==============================================================================
The End.
==============================================================================
Last Changed: $Date: 2001/09/05 16:25:20 $