News | About | Download | Order | "Readme" file | "TODO" list | Changes list | Links |
===================================== 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. ==============================================================================