Made the Hunspell dictionary provider use a different dictionary (on user path) for user-defined words (fixes #477)

Originally committed to SVN as r1713.
This commit is contained in:
Rodrigo Braz Monteiro 2008-01-14 02:01:50 +00:00
parent 6116b0af7b
commit a69fe9e71e
4 changed files with 354 additions and 323 deletions

View file

@ -3,7 +3,7 @@ Please visit http://aegisub.net to download latest version
= 2.00 - 2008.xx.xx =========================== = 2.00 - 2008.xx.xx ===========================
- New Aegisub logo. (AMZ) - New Aegisub logo. (amz)
- The Automation 4 system has been introduced. This means lots of changes. (jfs) - The Automation 4 system has been introduced. This means lots of changes. (jfs)
o The Lua engine is now based on Lua 5.1, which means a few new language features. o The Lua engine is now based on Lua 5.1, which means a few new language features.
o A Ruby 1.9-based scripting engine has been added (Pomyk) o A Ruby 1.9-based scripting engine has been added (Pomyk)
@ -14,50 +14,51 @@ Please visit http://aegisub.net to download latest version
o Scripts are automatically reloaded when the Export dialog is opened (this can be changed in Options) o Scripts are automatically reloaded when the Export dialog is opened (this can be changed in Options)
- Ctrl or Ctrl+Shift click on the Automation toolbar button to reload autoload/all scripts - Ctrl or Ctrl+Shift click on the Automation toolbar button to reload autoload/all scripts
- Video mode changes: - Video mode changes:
o It has been mostly rewriten and now uses OpenGL instead of software rendering, making it much faster on computers with video cards that don't belong to the stone age. (AMZ) o It has been mostly rewriten and now uses OpenGL instead of software rendering, making it much faster on computers with video cards that don't belong to the stone age. (amz)
o Optionally, it can use a Pixel Shader to convert YV12 to RGB32 in hardware, which is much faster, with a decent video card. (AMZ) o Optionally, it can use a Pixel Shader to convert YV12 to RGB32 in hardware, which is much faster, with a decent video card. (amz)
o Video display fixed on Linux and Mac (Azzy) o Video display fixed on Linux and Mac (Azzy)
o Made the video display detachable. (AMZ) o Made the video display detachable. (amz)
o Fixed Custom Aspect Ratio input. (Dansolo) o Fixed Custom Aspect Ratio input. (Dansolo)
o Added a dummy video provider to create a blank video with customizeable options. (jfs/AMZ) o Added a dummy video provider to create a blank video with customizeable options. (jfs/amz)
o Destination of screenshots can now be set in the options dialog. (AMZ) o Destination of screenshots can now be set in the options dialog. (amz)
o Added support for using other renderers than VSFilter with Avisynth as video provider. (AMZ) o Added support for using other renderers than VSFilter with Avisynth as video provider. (amz)
o Added support for FFMpegSource in Avisynth provider if FFMpegSource.dll is on Aegisub's folder. (AMZ) o Added support for FFMpegSource in Avisynth provider if FFMpegSource.dll is on Aegisub's folder. (amz)
o Added support for DirectShowSource2 in Avisynth provider if avss.dll is on Aegisub's folder. (AMZ) o Added support for DirectShowSource2 in Avisynth provider if avss.dll is on Aegisub's folder. (amz)
o Added support to save and load keyframe list files. (AMZ) o Added support to save and load keyframe list files. (amz)
o Fixed subtitles positioning removing \p tags from the line. (AMZ) o Fixed subtitles positioning removing \p tags from the line. (amz)
o libass support for subtitles on all platforms. (Azzy/AMZ) o libass support for subtitles on all platforms. (Azzy/amz)
o CSRI support for subtitles on all platforms. (equinox/AMZ) o CSRI support for subtitles on all platforms. (equinox/amz)
o Framegrabs from the video now also includes framenumber in the filename. (jfs) o Framegrabs from the video now also includes framenumber in the filename. (jfs)
o Added a toggleable overscan mask to show which areas might get cropped by televisions. (AMZ) o Added a toggleable overscan mask to show which areas might get cropped by televisions. (amz)
o Keyframe data will no longer be loaded for video files which are all keyframes (i.e. most lossless AVI files) since it was meaningless. (TheFluff) o Keyframe data will no longer be loaded for video files which are all keyframes (i.e. most lossless AVI files) since it was meaningless. (TheFluff)
- Visual Typesetting functionality implemented, which should make typesetting much easier and faster. It supports: (AMZ) - Visual Typesetting functionality implemented, which should make typesetting much easier and faster. It supports: (amz)
o Dragging, including support for \move; o Dragging, including support for \move;
o Rotation on Z axis; o Rotation on Z axis;
o Rotation on X/Y axes; o Rotation on X/Y axes;
o Scaling on X/Y axes; o Scaling on X/Y axes;
o Clipping to a rectangle. o Clipping to a rectangle.
- Audio mode changes: - Audio mode changes:
o Normal and SSA mode have been merged into one, all functionality available to both is now used at once. This is the same behavior as Sabbu has. (AMZ) o Normal and SSA mode have been merged into one, all functionality available to both is now used at once. This is the same behavior as Sabbu has. (amz)
o Next line on commit is now on by default. (AMZ) o Next line on commit is now on by default. (amz)
o Auto-commit will never change to the next line. (AMZ) o Auto-commit will never change to the next line. (amz)
o Added an option to, when dragging line start/end markers, snap to keyframes or nearby subtitle start/end markers. This behavior can always be toggled by holding down shift. (AMZ) o Added an option to, when dragging line start/end markers, snap to keyframes or nearby subtitle start/end markers. This behavior can always be toggled by holding down shift. (amz)
o The "Play" shortcut will always play, regardless of whether it was already playing or not. There is a new shortcut for "Stop". (AMZ) o The "Play" shortcut will always play, regardless of whether it was already playing or not. There is a new shortcut for "Stop". (amz)
o Styles for line start/end markers have changed. (AMZ) o Styles for line start/end markers have changed. (amz)
o Holding down ctrl lets you retime the original line while in Karaoke mode. (AMZ) o Holding down ctrl lets you retime the original line while in Karaoke mode. (amz)
o Middle click will now jump the video to the time under the mouse. (AMZ) o Middle click will now jump the video to the time under the mouse. (amz)
o Added DirectSound audio output, to avoid using PortAudio under Win32. (AMZ) o Added DirectSound audio output, to avoid using PortAudio under Win32. (amz)
o Switching to a new line in audio mode now centers the line on the grid. (AMZ) o Switching to a new line in audio mode now centers the line on the grid. (amz)
o Flexibible audio cache names now allow you to have more than one copy of Aegisub open with audio loaded to HD cache. (AMZ) o Flexibible audio cache names now allow you to have more than one copy of Aegisub open with audio loaded to HD cache. (amz)
o Added Medusa-style (numpad) global timing shortcuts, that can be enabled with the button under the audio display. This is disabled by default. (AMZ) o Added Medusa-style (numpad) global timing shortcuts, that can be enabled with the button under the audio display. This is disabled by default. (amz)
o Fixed drawing of inactive lines in audio display to prevent it from being drawn over selection. (AMZ) o Fixed drawing of inactive lines in audio display to prevent it from being drawn over selection. (amz)
o Added options to toggle the display of the audio timeline and of the time over the mouse cursor. (AMZ) o Added options to toggle the display of the audio timeline and of the time over the mouse cursor. (amz)
o Added option to disable automatic grabbing of times from selected lines on the audio display. Also, it will never pick the times from 0:00:00.00 -> 0:00:00.00 lines. (AMZ) o Added option to disable automatic grabbing of times from selected lines on the audio display. Also, it will never pick the times from 0:00:00.00 -> 0:00:00.00 lines. (amz)
o Moved karaoke syllable text in audio display to the top instead of bottom, since it often covered important information in spectrum mode (jfs) o Moved karaoke syllable text in audio display to the top instead of bottom, since it often covered important information in spectrum mode (jfs)
o Misc. changes and bugfixes in karaoke mode. Using the syllable splitter should be easier now. (jfs) o Misc. changes and bugfixes in karaoke mode. Using the syllable splitter should be easier now. (jfs)
o Fixed loading of Avisynth Scripts as audio. (AMZ) o Fixed loading of Avisynth Scripts as audio. (amz)
o PCM WAV files are now streamed directly from disk instead of being "decoded" into RAM or onto another disk file. Only works for 8 and 16 bit sampledepths. (jfs) o PCM WAV files are now streamed directly from disk instead of being "decoded" into RAM or onto another disk file. Only works for 8 and 16 bit sampledepths. (jfs)
o Added *.m4a to the list of recognized audio formats in the audio open dialog. (TheFluff) o Added *.m4a to the list of recognized audio formats in the audio open dialog. (TheFluff)
o Added a line to indicate the position of the current video frame. (amz)
- Changes to Audio Spectrum: (jfs) - Changes to Audio Spectrum: (jfs)
o The calculated FFT data are now cached, so things should be faster. o The calculated FFT data are now cached, so things should be faster.
- The maximum size of the cache can be configured. Default is unlimited, which provides the best performance assuming enough memory is available. (Limit it if you're working with huge audio files!) - The maximum size of the cache can be configured. Default is unlimited, which provides the best performance assuming enough memory is available. (Limit it if you're working with huge audio files!)
@ -70,105 +71,105 @@ Please visit http://aegisub.net to download latest version
o Automatically select the style of the current line when Style Manager is opened. (jfs) o Automatically select the style of the current line when Style Manager is opened. (jfs)
o Style storages with invalid characters are now caught, and the invalid characters replaced with safe ones. Previously such storages seemed to be created correctly but were never stored to disk. (jfs) o Style storages with invalid characters are now caught, and the invalid characters replaced with safe ones. Previously such storages seemed to be created correctly but were never stored to disk. (jfs)
o Added long-missing Edit buttons. (jfs) o Added long-missing Edit buttons. (jfs)
o Renaming a style will now ask you if you want to rename all instances of it on the script. (AMZ) o Renaming a style will now ask you if you want to rename all instances of it on the script. (amz)
o Style name collisions (when moving from/to storage, creating or renaming) will now prompt the user before performing the action. (AMZ) o Style name collisions (when moving from/to storage, creating or renaming) will now prompt the user before performing the action. (amz)
o Added an "Import from script..." button to import styles directly from other subtitle files. (AMZ) o Added an "Import from script..." button to import styles directly from other subtitle files. (amz)
o Added buttons to move styles up, down, to top or to bottom, on both storage and current script. (AMZ) o Added buttons to move styles up, down, to top or to bottom, on both storage and current script. (amz)
o Added sorting functionality for both storage and current script. (AMZ) o Added sorting functionality for both storage and current script. (amz)
o Prevent creating multiple storages with the same names. (AMZ) o Prevent creating multiple storages with the same names. (amz)
- Style editor changes: - Style editor changes:
o Prevent creating multiple styles with the same names. (AMZ) o Prevent creating multiple styles with the same names. (amz)
o New, more horizontal, layout (AMZ) o New, more horizontal, layout (amz)
o Realtime preview box (AMZ) o Realtime preview box (amz)
o Editable drop-down (combo box) to select fonts, instead of the OS's standard font chooser. This allows easy realtime preview of fonts. (AMZ) o Editable drop-down (combo box) to select fonts, instead of the OS's standard font chooser. This allows easy realtime preview of fonts. (amz)
o Alpha and margin edit boxes were replaced with spin controls. (AMZ) o Alpha and margin edit boxes were replaced with spin controls. (amz)
o Hitting enter will now "OK" it. (AMZ) o Hitting enter will now "OK" it. (amz)
o Default secondary colour is now red. (AMZ) o Default secondary colour is now red. (amz)
- Changes to subtitle reading/writing: - Changes to subtitle reading/writing:
o Instead of falling back to your local charset, Aegisub will now use the "universalchardet" library (the one used by the Mozilla project) to autodetect the character set of non-Unicode files. (AMZ) o Instead of falling back to your local charset, Aegisub will now use the "universalchardet" library (the one used by the Mozilla project) to autodetect the character set of non-Unicode files. (amz)
o Support reading SSA/ASS files with intermixed V4 and V4+ Styles sections. (jfs) o Support reading SSA/ASS files with intermixed V4 and V4+ Styles sections. (jfs)
o Fixed loading of sections with unexpected casing. (AMZ) o Fixed loading of sections with unexpected casing. (amz)
o Added plain-text export (jfs) o Added plain-text export (jfs)
o Added support for reading ASS, SSA and SRT softsubs directly from Matroska files. (AMZ) o Added support for reading ASS, SSA and SRT softsubs directly from Matroska files. (amz)
o Fixed loading of SRT and TXT files, which were causing an empty line to appear at the start of the file. (AMZ) o Fixed loading of SRT and TXT files, which were causing an empty line to appear at the start of the file. (amz)
o Improved saving of SRT files. (AMZ) o Improved saving of SRT files. (amz)
o Added support for reading v4.00++ (ASS2) files. (AMZ) o Added support for reading v4.00++ (ASS2) files. (amz)
o Added very basic reading support for MPEG-4 Streaming Text (TTXT) subtitles. (AMZ) o Added very basic reading support for MPEG-4 Streaming Text (TTXT) subtitles. (amz)
o Added full read-write support for MicroDVD subtitles (the most common .sub format). (AMZ) o Added full read-write support for MicroDVD subtitles (the most common .sub format). (amz)
o Added support for writing Adobe Encore subtitles, both PAL and NTSC. (AMZ) o Added support for writing Adobe Encore subtitles, both PAL and NTSC. (amz)
- Changes to main menu: - Changes to main menu:
o There are now new options, and most were moved around to have better organization. (AMZ/jfs) o There are now new options, and most were moved around to have better organization. (amz/jfs)
o General tweaks changes, such as better icons, and fixing of flickering and slowness. (AMZ) o General tweaks changes, such as better icons, and fixing of flickering and slowness. (amz)
o Undo and redo now have descriptions. (Dansolo) o Undo and redo now have descriptions. (Dansolo)
o Merged the three "Recombine" functions into a single one that autodetects the correct type, and also supports two new cases. (AMZ) o Merged the three "Recombine" functions into a single one that autodetects the correct type, and also supports two new cases. (amz)
o Added the associations dialogue to the menu. (AMZ) o Added the associations dialogue to the menu. (amz)
- Subtitles grid changes: - Subtitles grid changes:
o Fixed line selection after pasting. (AMZ) o Fixed line selection after pasting. (amz)
o Plain-text lines can now be pasted into the grid. They will be inserted as default lines with the text as their content. (AMZ) o Plain-text lines can now be pasted into the grid. They will be inserted as default lines with the text as their content. (amz)
o Added Paste Over function, which allows you to paste subtitle lines over others, overwriting the fields of your choice. (AMZ) o Added Paste Over function, which allows you to paste subtitle lines over others, overwriting the fields of your choice. (amz)
o Scrollbar in grid didn't always allow scrolling through all the subs. (jfs) o Scrollbar in grid didn't always allow scrolling through all the subs. (jfs)
o Minor fix to the calculation of the grid's "Style" column width. (AMZ) o Minor fix to the calculation of the grid's "Style" column width. (amz)
o Layer and margin columns are no longer shown if all lines have default values for those. (AMZ) o Layer and margin columns are no longer shown if all lines have default values for those. (amz)
- Subtitles edit box changes: - Subtitles edit box changes:
o The whole layout has been tweaked. (AMZ) o The whole layout has been tweaked. (amz)
o Replaced wxTextCtrl with wxStyledTextCtrl, to solve many issues related to the Rich Text edit control. (AMZ) o Replaced wxTextCtrl with wxStyledTextCtrl, to solve many issues related to the Rich Text edit control. (amz)
o Improved Syntax Highlighter to include more features of ASS. (AMZ) o Improved Syntax Highlighter to include more features of ASS. (amz)
o Added an inline Hunspell-based Spell Checker. (AMZ) o Added an inline Hunspell-based Spell Checker. (amz)
o Added an inline MyThes-based Thesaurus. (AMZ) o Added an inline MyThes-based Thesaurus. (amz)
o Times can now be copy and pasted with Ctrl+C and Ctrl+V, as well as from context menu, in the time edit boxes. (AMZ) o Times can now be copy and pasted with Ctrl+C and Ctrl+V, as well as from context menu, in the time edit boxes. (amz)
o Layer box replaced with a spin control in the subtitles edit box. (AMZ) o Layer box replaced with a spin control in the subtitles edit box. (amz)
o Commiting text now commits times as well. (AMZ) o Commiting text now commits times as well. (amz)
o Changes to text will no longer be discarded when you commit timing in the audio display and vice-versa. (AMZ) o Changes to text will no longer be discarded when you commit timing in the audio display and vice-versa. (amz)
o Added a Call Tip feature to the edit box, so it shows the function prototype as you type it. (AMZ) o Added a Call Tip feature to the edit box, so it shows the function prototype as you type it. (amz)
o Fixed glitches related to the Duration time edit box. (AMZ) o Fixed glitches related to the Duration time edit box. (amz)
o Tweaked the behavior of the margin boxes, now they no longer show padding zeros. (AMZ) o Tweaked the behavior of the margin boxes, now they no longer show padding zeros. (amz)
o Actor and Effect fields now show a "ghosted" caption saying their name when they are not focused on and blank. (AMZ) o Actor and Effect fields now show a "ghosted" caption saying their name when they are not focused on and blank. (amz)
o Added a "Commit" button that duplicates the Enter/Ctrl+Enter functionality, since those shortcuts were not obvious to everyone. (AMZ) o Added a "Commit" button that duplicates the Enter/Ctrl+Enter functionality, since those shortcuts were not obvious to everyone. (amz)
o Improved the "split at cursor" functions so that they now split what you see (instead of splitting the committed line) and trim off leading/trailing whitespace. (TheFluff) o Improved the "split at cursor" functions so that they now split what you see (instead of splitting the committed line) and trim off leading/trailing whitespace. (TheFluff)
- Changes to Fonts Collector: - Changes to Fonts Collector:
o Changed the font searching engine to something slower, but far more reliable. (jfs/AMZ) o Changed the font searching engine to something slower, but far more reliable. (jfs/amz)
o Added option to just verify if you have the fonts. (AMZ) o Added option to just verify if you have the fonts. (amz)
o You can now collect fonts directly to a zipped archive. (AMZ) o You can now collect fonts directly to a zipped archive. (amz)
o Fixed behavior of the Escape key in it. (AMZ) o Fixed behavior of the Escape key in it. (amz)
o Redesigned the interface and replaced the log window with a much better Scintilla control. (AMZ) o Redesigned the interface and replaced the log window with a much better Scintilla control. (amz)
o You can now collect multiple times without reopening the dialog. (AMZ) o You can now collect multiple times without reopening the dialog. (amz)
- All user-specific files (configuration, style storages, etc) are now stored on Application Data\Aegisub in Windows. (AMZ) - All user-specific files (configuration, style storages, etc) are now stored on Application Data\Aegisub in Windows. (amz)
- config.dat can optionally be stored on the same folder as aegisub.exe. (AMZ) - config.dat can optionally be stored on the same folder as aegisub.exe. (amz)
- Added a much-needed options dialog with all the relevant config.dat options in it. (AMZ) - Added a much-needed options dialog with all the relevant config.dat options in it. (amz)
- Various fixes to better handle paths/file names with non-ANSI characters on Windows (jfs/AMZ) - Various fixes to better handle paths/file names with non-ANSI characters on Windows (jfs/amz)
- Misc. fixes for building on Linux (Azzy, equinox, jfs) - Misc. fixes for building on Linux (Azzy, equinox, jfs)
- Added an option to automatically save the files whenever you change anything. (AMZ) - Added an option to automatically save the files whenever you change anything. (amz)
- Added global hotkey for Video Play (default Ctrl+P). (AMZ) - Added global hotkey for Video Play (default Ctrl+P). (amz)
- Commiting changes in audio to the last line will insert a new line after it. (AMZ) - Commiting changes in audio to the last line will insert a new line after it. (amz)
- Added two options that allows you to specify where to keep the audio cache. (AMZ) - Added two options that allows you to specify where to keep the audio cache. (amz)
- Improved Splash Screen behavior to show up even if the program is frozen loading subtitles, and to center on the current display. (AMZ) - Improved Splash Screen behavior to show up even if the program is frozen loading subtitles, and to center on the current display. (amz)
- Aegisub now remembers if it was maximized when it was last quit, and restores its state when opening again. (AMZ) - Aegisub now remembers if it was maximized when it was last quit, and restores its state when opening again. (amz)
- A few minor fixes to the Find dialogue regarding initial focus and the behavior of the Escape key. (AMZ) - A few minor fixes to the Find dialogue regarding initial focus and the behavior of the Escape key. (amz)
- Added a "Selection Onward" option to the Shift Times dialogue. (AMZ) - Added a "Selection Onward" option to the Shift Times dialogue. (amz)
- Added a Normal/Reverse dropdown to collisions on Script Properties. (AMZ) - Added a Normal/Reverse dropdown to collisions on Script Properties. (amz)
- Implemented a version checker that can automatically or manually check if there are any updates to Aegisub. (AMZ) - Implemented a version checker that can automatically or manually check if there are any updates to Aegisub. (amz)
- Timing Post-Processor can now be restricted to selection. (AMZ) - Timing Post-Processor can now be restricted to selection. (amz)
- Added Kanji Timing (AKA Karaoke Timing Copy) functionality. (Dansolo) - Added Kanji Timing (AKA Karaoke Timing Copy) functionality. (Dansolo)
- Added an audio clip export by right clicking on a line. (Dansolo) - Added an audio clip export by right clicking on a line. (Dansolo)
- Added a clear button for shifting history. (Dansolo) - Added a clear button for shifting history. (Dansolo)
- Added shortcut keys (escape to close and delete to delete a style, plus ctrl+c/v for copy/paste) to style manager. (Dansolo) - Added shortcut keys (escape to close and delete to delete a style, plus ctrl+c/v for copy/paste) to style manager. (Dansolo)
- Changing script resolution when asked to on video loading will now set an undo point. (AMZ) - Changing script resolution when asked to on video loading will now set an undo point. (amz)
- Frame number is now the default box on the "go to" dialog. (AMZ) - Frame number is now the default box on the "go to" dialog. (amz)
- Added "Video Formats" to "Open Audio"'s file selector, so you can open audio directly from video files (regardless of whether they're loaded or not). This has always worked, but it was never explicit. (AMZ) - Added "Video Formats" to "Open Audio"'s file selector, so you can open audio directly from video files (regardless of whether they're loaded or not). This has always worked, but it was never explicit. (amz)
- Added a "Scale Border and Shadow" check box to script properties dialog. (AMZ) - Added a "Scale Border and Shadow" check box to script properties dialog. (amz)
- Fixed display of end frames on the subtitles grid, when set to frame mode. (demi`) - Fixed display of end frames on the subtitles grid, when set to frame mode. (demi`)
- Treat comments inside {}'s as plain text, not as overrides; Also, don't assume override blocks start with a backslash, even if they probably should (Dansolo) - Treat comments inside {}'s as plain text, not as overrides; Also, don't assume override blocks start with a backslash, even if they probably should (Dansolo)
- Removed FexTracker due to licensing problems; there are plans to implement a new motion tracker in its place (jfs) - Removed FexTracker due to licensing problems; there are plans to implement a new motion tracker in its place (jfs)
- Changed translation assistent to use Scintilla text controls to avoid several issues, including Right-To-Left text entry. (AMZ) - Changed translation assistent to use Scintilla text controls to avoid several issues, including Right-To-Left text entry. (amz)
- Joining of two lines will no longer take the timings of any line that starts and ends at 0 into consideration. (AMZ) - Joining of two lines will no longer take the timings of any line that starts and ends at 0 into consideration. (amz)
- Added a "new window" command to the file menu, to launch a new instance of Aegisub. (AMZ) - Added a "new window" command to the file menu, to launch a new instance of Aegisub. (amz)
- Added "Effect" field to the Select Lines dialog. (demi`) - Added "Effect" field to the Select Lines dialog. (demi`)
- Added a new "Video Details" dialog, that lists some information regarding the currently open video. (demi`) - Added a new "Video Details" dialog, that lists some information regarding the currently open video. (demi`)
- Added support for reading keyframes from xvid pass files. (demi`) - Added support for reading keyframes from xvid pass files. (demi`)
- Added offsetting support to the resolution resampler. (AMZ) - Added offsetting support to the resolution resampler. (amz)
- Several fixes to Matroska parsing. (AMZ) - Several fixes to Matroska parsing. (amz)
- Untitled files will now get auto-saved as "Untitled.AUTOSAVE.ass". (AMZ) - Untitled files will now get auto-saved as "Untitled.AUTOSAVE.ass". (amz)
- Added several "Help" buttons. (AMZ) - Added several "Help" buttons. (amz)
@ -180,7 +181,7 @@ Please visit http://aegisub.net to download latest version
o Added some debug-calls (which are disabled by default; aegisub.output_debug is replaced with a do-nothing function (you can change this in karaskel.lua) o Added some debug-calls (which are disabled by default; aegisub.output_debug is replaced with a do-nothing function (you can change this in karaskel.lua)
o The regular aegisub.output_debug is aliased to aegisub.output_warning, in order to always be able to show real warnings, in case something goes wrong o The regular aegisub.output_debug is aliased to aegisub.output_warning, in order to always be able to show real warnings, in case something goes wrong
o Fixed bug, triggered when a line had a style not defined in the subs. A warning is now shown instead. o Fixed bug, triggered when a line had a style not defined in the subs. A warning is now shown instead.
- Fixed bug in parser that would cause Aegisub to crash if you had a \fn without parameters and tried to pick font. (AMZ) - Fixed bug in parser that would cause Aegisub to crash if you had a \fn without parameters and tried to pick font. (amz)
- Fixed crash when opening audio that appeared in 1.08 (Myrsloik) - Fixed crash when opening audio that appeared in 1.08 (Myrsloik)
- Karaoke mode changes: (jfs) - Karaoke mode changes: (jfs)
o New syllable-splitter: Click "split" to enable splitting-mode, click in syllable view to set split-markers, then click commit to do the splitting o New syllable-splitter: Click "split" to enable splitting-mode, click in syllable view to set split-markers, then click commit to do the splitting
@ -192,7 +193,7 @@ Please visit http://aegisub.net to download latest version
- Implemented FexTracker, for automatically tracking positions on the video and placing text accordingly (Tentacle) - Implemented FexTracker, for automatically tracking positions on the video and placing text accordingly (Tentacle)
- Drag-and-drop files onto the program no longer causes the subs to be unloaded every time, even if no subs were dropped (jfs) - Drag-and-drop files onto the program no longer causes the subs to be unloaded every time, even if no subs were dropped (jfs)
- 1,1+2 recombining lines where 1 is a substring of 2 no longer causes incorrect behavior. 1+2,2 similarly fixed. This fix also gives more sanity-checking in the recombining (jfs) - 1,1+2 recombining lines where 1 is a substring of 2 no longer causes incorrect behavior. 1+2,2 similarly fixed. This fix also gives more sanity-checking in the recombining (jfs)
- Replaced the subtitles grid with a custom control, which should hopefully behave and look better. (AMZ) Changes are: - Replaced the subtitles grid with a custom control, which should hopefully behave and look better. (amz) Changes are:
o Currently active line is now highlighted with a border. o Currently active line is now highlighted with a border.
o The grid can optionally no longer receive focus (this behavior is disabled by default, change "Grid Allow Focus" to 0 in config.dat to prevent it from getting focus). o The grid can optionally no longer receive focus (this behavior is disabled by default, change "Grid Allow Focus" to 0 in config.dat to prevent it from getting focus).
o Fixed bug related to tag cycling, which would reset grid, move video and force a refresh of everything (slow, and could undo uncommited changes). o Fixed bug related to tag cycling, which would reset grid, move video and force a refresh of everything (slow, and could undo uncommited changes).
@ -204,153 +205,153 @@ Please visit http://aegisub.net to download latest version
o Actor and effect columns are now only visible if they are being used. o Actor and effect columns are now only visible if they are being used.
o Double clicking a row will jump video to it, regardless of auto go to option. o Double clicking a row will jump video to it, regardless of auto go to option.
o Unhandled keypresses in grid will now be sent to the audio display. o Unhandled keypresses in grid will now be sent to the audio display.
- Toolbar will now properly disable the Jump To buttons if more than one line is selected. (AMZ) - Toolbar will now properly disable the Jump To buttons if more than one line is selected. (amz)
- Fixed the toolbar "grey area" glitch (was actually a wxWidgets issue). (AMZ) - Fixed the toolbar "grey area" glitch (was actually a wxWidgets issue). (amz)
- Default video zoom can now be set in config.dat and is defaulted to 100%. (AMZ) - Default video zoom can now be set in config.dat and is defaulted to 100%. (amz)
- Fixed crash in Translation and Styling assistants, when you attempted to move past end of file, and then play. (AMZ) - Fixed crash in Translation and Styling assistants, when you attempted to move past end of file, and then play. (amz)
- Fixed linked commit of times, so it will only commit both times if the other was changed (to prevent damage when editing multiple lines). (AMZ) - Fixed linked commit of times, so it will only commit both times if the other was changed (to prevent damage when editing multiple lines). (amz)
- Fixed some bugs related to inserting overrides via the buttons over the edit box. (AMZ) - Fixed some bugs related to inserting overrides via the buttons over the edit box. (amz)
- Implemented Redo (and there was much rejoicing). (AMZ) - Implemented Redo (and there was much rejoicing). (amz)
- Fonts collector will now default collection to same folder as script (Set to "?script" on config.dat). (AMZ) - Fonts collector will now default collection to same folder as script (Set to "?script" on config.dat). (amz)
- Alt+Left/Right on the video seek bar will now seek by increments of 10 frames (increment is customizeable in config.dat). (AMZ) - Alt+Left/Right on the video seek bar will now seek by increments of 10 frames (increment is customizeable in config.dat). (amz)
- Added a simple audio resync method for video playback. (AMZ) - Added a simple audio resync method for video playback. (amz)
- Audio timing will now apply to all selected lines, as well as active line. (AMZ) - Audio timing will now apply to all selected lines, as well as active line. (amz)
- Added a volume slider bar to audio mode. (AMZ) - Added a volume slider bar to audio mode. (amz)
- Fixed some internal workings, which should make Aegisub use considerably less RAM (especially for large Karaoke files, 8-10x less RAM usage was measured with a 9 MB file). (AMZ) - Fixed some internal workings, which should make Aegisub use considerably less RAM (especially for large Karaoke files, 8-10x less RAM usage was measured with a 9 MB file). (amz)
- Aegisub will now dump the stack to stack.txt when it crashes with a fatal exception, which might or might not work. (AMZ) - Aegisub will now dump the stack to stack.txt when it crashes with a fatal exception, which might or might not work. (amz)
- Audio display in SSA mode will no longer ignore clicks if it wasn't focused (AMZ) - Audio display in SSA mode will no longer ignore clicks if it wasn't focused (amz)
- The font override button in the subtitles edit box can now modify font size, italics, bold and underline as well as font face (no strikeout, as wx does not provide an interface to access that data). (AMZ) - The font override button in the subtitles edit box can now modify font size, italics, bold and underline as well as font face (no strikeout, as wx does not provide an interface to access that data). (amz)
- Now requires Avisynth 2.5.6a or later, added an option ("allow ancient avisynth") to override it to config.dat. (Myrsloik) - Now requires Avisynth 2.5.6a or later, added an option ("allow ancient avisynth") to override it to config.dat. (Myrsloik)
- Added reading of keyframe and timecode data from Matroska files (which are still not recommended, due to their dependency on DirectShowSource). (AMZ) - Added reading of keyframe and timecode data from Matroska files (which are still not recommended, due to their dependency on DirectShowSource). (amz)
- Added forums and bugtracker to Help menu. (AMZ) - Added forums and bugtracker to Help menu. (amz)
- Fixed Fonts Collector behavior with font shortcuts. (AMZ) - Fixed Fonts Collector behavior with font shortcuts. (amz)
- Better error reporting when loading Automation scripts (jfs) - Better error reporting when loading Automation scripts (jfs)
- Attempting to load a file which does not exist no longer unloads previous subtitles. (AMZ) - Attempting to load a file which does not exist no longer unloads previous subtitles. (amz)
- Dragging timecode files into the Aegisub window will now work as expected (instead of attempting to load it as subtitles). (AMZ) - Dragging timecode files into the Aegisub window will now work as expected (instead of attempting to load it as subtitles). (amz)
- Middle clicking the video seek bar and audio display will now focus them. (AMZ) - Middle clicking the video seek bar and audio display will now focus them. (amz)
- Search and Replace dialogue made modeless. (Pomyk) - Search and Replace dialogue made modeless. (Pomyk)
- Fixed bug related to moving elements up and down in File Export dialog. (Pomyk) - Fixed bug related to moving elements up and down in File Export dialog. (Pomyk)
- Scrollbar and sliders in audio box can no longer receive focus. (Pomyk) - Scrollbar and sliders in audio box can no longer receive focus. (Pomyk)
- Select lines dialog now has an option on how to deal with comment lines. (Pomyk) - Select lines dialog now has an option on how to deal with comment lines. (Pomyk)
- Last folder for all the file selection dialogs are now remembered in config.dat. (Pomyk) - Last folder for all the file selection dialogs are now remembered in config.dat. (Pomyk)
- Audio current play position cursor will now always be visible. (AMZ) - Audio current play position cursor will now always be visible. (amz)
- Removed video frame/subtitles time sync controls from the grid context menu. (AMZ) - Removed video frame/subtitles time sync controls from the grid context menu. (amz)
- Timeline is now drawn below audio display. (AMZ) - Timeline is now drawn below audio display. (amz)
- Dragging the timeline will now scroll audio display. (AMZ) - Dragging the timeline will now scroll audio display. (amz)
- Fixed bug which caused extra newlines to be added at the end of file. (AMZ) - Fixed bug which caused extra newlines to be added at the end of file. (amz)
- Added a horizontal scrollbar to shift times history. (AMZ) - Added a horizontal scrollbar to shift times history. (amz)
- Removed the "Help" button from Find/Replace dialog. (AMZ) - Removed the "Help" button from Find/Replace dialog. (amz)
- Added a bias slider to the "make times continuous" function in timing post-processor, which sets the point between the subs where the two lines will meet. (AMZ) - Added a bias slider to the "make times continuous" function in timing post-processor, which sets the point between the subs where the two lines will meet. (amz)
- Separated keyframe thresholds on the timing post-processor in start and end. (AMZ) - Separated keyframe thresholds on the timing post-processor in start and end. (amz)
- Aegisub no longer enjoys littering your temporary files folder with 0 kB files. (AMZ) - Aegisub no longer enjoys littering your temporary files folder with 0 kB files. (amz)
- Pre-Rendered Subtitles (PRS) export added. (AMZ) - Pre-Rendered Subtitles (PRS) export added. (amz)
- Not directly related, but PRS Avisynth filter added to Aegisub SVN tree. (AMZ) - Not directly related, but PRS Avisynth filter added to Aegisub SVN tree. (amz)
- New languages available: - New languages available:
o Spanish (thanks to NeSuKuN) o Spanish (thanks to NeSuKuN)
o Italian (thanks to EmBoLo) o Italian (thanks to EmBoLo)
o Korean (thanks to oblisk) o Korean (thanks to oblisk)
o Danish (thanks to mulrich and jfs) o Danish (thanks to mulrich and jfs)
o Hungarian (thanks to Yuri) o Hungarian (thanks to Yuri)
- Style editor now uses a dropdown for the encoding field, with encoding names taken straight from wingdi.h. (AMZ) - Style editor now uses a dropdown for the encoding field, with encoding names taken straight from wingdi.h. (amz)
- Added 2.35 and custom aspect ratio support for video display. (AMZ) - Added 2.35 and custom aspect ratio support for video display. (amz)
- The manual has been extensively re-written and extended to include documentation about a lot of new (and some not so new) features. It's reasonably complete... for the moment. (TheFluff, Motoko-chan, jfs) - The manual has been extensively re-written and extended to include documentation about a lot of new (and some not so new) features. It's reasonably complete... for the moment. (TheFluff, Motoko-chan, jfs)
- Text edit boxes in the subtitle editing area will now revert to unmodified if you restore the original text. (AMZ) - Text edit boxes in the subtitle editing area will now revert to unmodified if you restore the original text. (amz)
- Re-arranged the controls in the subtitle editing area. (AMZ) - Re-arranged the controls in the subtitle editing area. (amz)
- Added a text box in subtitle editing area to edit the "Effect" field. (AMZ) - Added a text box in subtitle editing area to edit the "Effect" field. (amz)
- Right-clicking on the header of the subtitles grid will now bring up a popup menu that allows you to disable columns. (AMZ) - Right-clicking on the header of the subtitles grid will now bring up a popup menu that allows you to disable columns. (amz)
- Saving back to SRT directly (that is, via "save", not "export" or "save as") is now allowed, as long as no data will be lost. (AMZ) - Saving back to SRT directly (that is, via "save", not "export" or "save as") is now allowed, as long as no data will be lost. (amz)
- Aegisub now supports file attachments, which are stored decoded (to save memory) and are not part of the undo stack (for the same reason). Previously, they were simply left ignored in the file as unknown lines. (AMZ) - Aegisub now supports file attachments, which are stored decoded (to save memory) and are not part of the undo stack (for the same reason). Previously, they were simply left ignored in the file as unknown lines. (amz)
- Implemented an Attached files list, where you can attach new fonts and graphics, extract them, or remove them from the script file. (AMZ) - Implemented an Attached files list, where you can attach new fonts and graphics, extract them, or remove them from the script file. (amz)
- The Font Collector can now collect fonts as script attachments. (AMZ) - The Font Collector can now collect fonts as script attachments. (amz)
- Added recent menu to Video Timecodes. (AMZ) - Added recent menu to Video Timecodes. (amz)
- Playing in video mode will now play the audio as well even if it hasn't been previously loaded into audio mode (experimental). (AMZ) - Playing in video mode will now play the audio as well even if it hasn't been previously loaded into audio mode (experimental). (amz)
- Added hotkey to Audio's "play to end of file" (defaulting to "T"). (AMZ) - Added hotkey to Audio's "play to end of file" (defaulting to "T"). (amz)
- Fixed the default resolution for video display and resolution resampler when the script's field is blank. (AMZ) - Fixed the default resolution for video display and resolution resampler when the script's field is blank. (amz)
- Stopping audio playback will now stop video playback as well. (AMZ) - Stopping audio playback will now stop video playback as well. (amz)
- Implemented sorting of subtitles by start time. (AMZ) - Implemented sorting of subtitles by start time. (amz)
- Recovered subtitle files are now saved in their own subfolder (customizeable in config.dat). (AMZ) - Recovered subtitle files are now saved in their own subfolder (customizeable in config.dat). (amz)
- Fixed crash with changing font properties via the subtitle edit box when there was a \fs override tag earlier in the line. (AMZ) - Fixed crash with changing font properties via the subtitle edit box when there was a \fs override tag earlier in the line. (amz)
- Hotkey editor was moved inside the options dialog. (AMZ) - Hotkey editor was moved inside the options dialog. (amz)
= 1.09 beta - 2006.01.16 =========================== = 1.09 beta - 2006.01.16 ===========================
- Implemented Timing Post-Processor dialog to automatically add lead-in/lead-out, scene timing and adjascence adjustment for sharp-timed subs (AMZ) - Implemented Timing Post-Processor dialog to automatically add lead-in/lead-out, scene timing and adjascence adjustment for sharp-timed subs (amz)
- Aegisub is now translateable, with proper localization files. (AMZ) Available now are: - Aegisub is now translateable, with proper localization files. (amz) Available now are:
o Brazilian Portuguese o Brazilian Portuguese
o French (thanks to TechNiko and Kurasu) o French (thanks to TechNiko and Kurasu)
o Russian (thanks to ]thrash_sensei[) o Russian (thanks to ]thrash_sensei[)
o German (thanks to equinox) o German (thanks to equinox)
- Fixed saving of hotkeys (AMZ) - Fixed saving of hotkeys (amz)
- Fixed behavior of Insert key in Translation Assistant (AMZ) - Fixed behavior of Insert key in Translation Assistant (amz)
- Ctrl+Enter now previews in translation assistant (AMZ) - Ctrl+Enter now previews in translation assistant (amz)
- Fixed "make times continuous" bug (AMZ) - Fixed "make times continuous" bug (amz)
- Checks if there's enough free space when using disk cache and asks if disk cache should be used when there isn't enough ram available (Myrsloik) - Checks if there's enough free space when using disk cache and asks if disk cache should be used when there isn't enough ram available (Myrsloik)
- Always enforces the set memory limit for avisynth even if no video is opened (Myrsloik) - Always enforces the set memory limit for avisynth even if no video is opened (Myrsloik)
- Fixed crashes when not enough memory could be allocated for ram cache (Myrsloik) - Fixed crashes when not enough memory could be allocated for ram cache (Myrsloik)
- Properties dialog will no longer flag file as modified if nothing changed (AMZ) - Properties dialog will no longer flag file as modified if nothing changed (amz)
- The config.dat file is now fully documented again, for the first time since beta 1.00... let's see how long it lasts. (TheFluff) - The config.dat file is now fully documented again, for the first time since beta 1.00... let's see how long it lasts. (TheFluff)
- Selected line is now properly enabled on audio display when audio is loaded (AMZ) - Selected line is now properly enabled on audio display when audio is loaded (amz)
- Cosmetic improvements to toolbar (AMZ) - Cosmetic improvements to toolbar (amz)
- Improved command line and drag-and-drop opening of files (extended to allow video and audio at the same time as well) (AMZ) - Improved command line and drag-and-drop opening of files (extended to allow video and audio at the same time as well) (amz)
- Fixed audio glitches when using disk cache and scrolling the audio display while playing (Myrsloik) - Fixed audio glitches when using disk cache and scrolling the audio display while playing (Myrsloik)
- Improved the ram cache allocation so it should work for really large files if enough ram is available (Myrsloik) - Improved the ram cache allocation so it should work for really large files if enough ram is available (Myrsloik)
- Fixed exporting of SSA styles (AMZ) - Fixed exporting of SSA styles (amz)
- Automation: The precalculation step in karaskel.lua is now in a function by itself, precalc_syllable_data (jfs) - Automation: The precalculation step in karaskel.lua is now in a function by itself, precalc_syllable_data (jfs)
- Automation: New function added to utils.lua, string.headtail(s): treats s as a list of words separated by spaces, returns two strings, the first word (the head) and the rest of the string (the tail), like car/cdr (jfs) - Automation: New function added to utils.lua, string.headtail(s): treats s as a list of words separated by spaces, returns two strings, the first word (the head) and the rest of the string (the tail), like car/cdr (jfs)
- Fixed behavior of dialog that asks you to change script resolution based on video resolution (AMZ) - Fixed behavior of dialog that asks you to change script resolution based on video resolution (amz)
- Video and audio displays can now be hidden via the View menu (AMZ) - Video and audio displays can now be hidden via the View menu (amz)
- Translation assistant now shows proper text color (AMZ) - Translation assistant now shows proper text color (amz)
- Translation assistant now shows total line count (AMZ) - Translation assistant now shows total line count (amz)
- Hotkeys for translation and styling assistants are now customizeable (AMZ) - Hotkeys for translation and styling assistants are now customizeable (amz)
- Default character encoding for saving can now be set via the evil "save charset" in config.dat. (AMZ) A few examples: - Default character encoding for saving can now be set via the evil "save charset" in config.dat. (amz) A few examples:
o "save charset=UTF-8" - Default setting. RECOMMENDED. o "save charset=UTF-8" - Default setting. RECOMMENDED.
o "save charset=UTF-16" - Saves as UTF-16 instead of UTF-8. This solves issues if you must deal with a program that can't support UTF-8, such as ancient textsub or wordpad. o "save charset=UTF-16" - Saves as UTF-16 instead of UTF-8. This solves issues if you must deal with a program that can't support UTF-8, such as ancient textsub or wordpad.
o "save charset=local" - Kills unicode support in saving subtitles, and saves as local charset. THIS OPTION IS NOT RECOMMENDED! It will, however, make scripts compatible with Medusa and other non-unicode programs. o "save charset=local" - Kills unicode support in saving subtitles, and saves as local charset. THIS OPTION IS NOT RECOMMENDED! It will, however, make scripts compatible with Medusa and other non-unicode programs.
o "save charset=Shift_JIS" - Same as above, but saves as Shift_JIS (japanese script). NOT RECOMMENDED! o "save charset=Shift_JIS" - Same as above, but saves as Shift_JIS (japanese script). NOT RECOMMENDED!
o "save charset=ISO-8859-1" - Same as above, but saves as ISO-8859-1 (western script). NOT RECOMMENDED! o "save charset=ISO-8859-1" - Same as above, but saves as ISO-8859-1 (western script). NOT RECOMMENDED!
Remember: You can always save to another charset via the File->Export option. This is much safer! Remember: You can always save to another charset via the File->Export option. This is much safer!
- Setting "Use nonstandard milisecond times" in config.dat makes Aegisub use miliseconds instead of centiseconds for ASS times. DO NOT use it unless you know EXACTLY why you should! NORMAL VSFILTER CAN'T HANDLE THIS. (AMZ) - Setting "Use nonstandard milisecond times" in config.dat makes Aegisub use miliseconds instead of centiseconds for ASS times. DO NOT use it unless you know EXACTLY why you should! NORMAL VSFILTER CAN'T HANDLE THIS. (amz)
- Resolution resampler now affects drawing commands as well (AMZ) - Resolution resampler now affects drawing commands as well (amz)
= 1.08 beta - 2006.01.03 =========================== = 1.08 beta - 2006.01.03 ===========================
- Fixed crash when trying to shift times of selected rows with none selected (AMZ) - Fixed crash when trying to shift times of selected rows with none selected (amz)
- Added option to make audio autocommit only work when SSA mode is disabled (AMZ) - Added option to make audio autocommit only work when SSA mode is disabled (amz)
- Implemented exporting to SSA (Substation Alpha) subtitles format (AMZ) - Implemented exporting to SSA (Substation Alpha) subtitles format (amz)
- Added *.mka to list of recognized audio formats (AMZ) - Added *.mka to list of recognized audio formats (amz)
- Fixed (harmless) unhandled exception when cancelling audio loading (AMZ) - Fixed (harmless) unhandled exception when cancelling audio loading (amz)
- Added recent lists to video and audio (AMZ) - Added recent lists to video and audio (amz)
- Added option to allow user to disable jumping to next line when commiting in SSA mode (AMZ) - Added option to allow user to disable jumping to next line when commiting in SSA mode (amz)
- Fixed line jump to in SSA mode (AMZ) - Fixed line jump to in SSA mode (amz)
- Aegisub no longer tries to open .vob files with mpeg2source (Myrsloik) - Aegisub no longer tries to open .vob files with mpeg2source (Myrsloik)
- Implemented saving of PNG snapshots from video (AMZ) - Implemented saving of PNG snapshots from video (amz)
- Implemented customizeable hotkeys for most shortcuts (AMZ) - Implemented customizeable hotkeys for most shortcuts (amz)
- Added hotkey customizing dialog (AMZ) - Added hotkey customizing dialog (amz)
- Bugfix: simple-k-replacer.lua never worked (jfs) - Bugfix: simple-k-replacer.lua never worked (jfs)
- Added "apply only to this style" options to simple-k-replacer.lua and line-per-syllable.lua (jfs) - Added "apply only to this style" options to simple-k-replacer.lua and line-per-syllable.lua (jfs)
- Fixed selection being reset after lines were joined (AMZ) - Fixed selection being reset after lines were joined (amz)
- Duplicated lines are now created after selection, and first one is selected (AMZ) - Duplicated lines are now created after selection, and first one is selected (amz)
- Added duplicate and shift by one frame option for easier frame-by-frame typesetting (AMZ) - Added duplicate and shift by one frame option for easier frame-by-frame typesetting (amz)
- Fixed crash related to setting style overrides via buttons (AMZ) - Fixed crash related to setting style overrides via buttons (amz)
- Main program window can now be freely resized (AMZ) - Main program window can now be freely resized (amz)
- Zoom slider under video was replaced with a drop-down box on toolbar (AMZ) - Zoom slider under video was replaced with a drop-down box on toolbar (amz)
- Drawing command blocks are now parsed properly (not that it matters much) (AMZ) - Drawing command blocks are now parsed properly (not that it matters much) (amz)
- Video slider is now a custom control (AMZ) - Video slider is now a custom control (amz)
- Automation: The frame_from_ms and ms_from_frame functions weren't actually available. They are now. Oops... (jfs) - Automation: The frame_from_ms and ms_from_frame functions weren't actually available. They are now. Oops... (jfs)
- Automation: Fixed error reporting during script execution so you have a chance to see the error messages again (jfs) - Automation: Fixed error reporting during script execution so you have a chance to see the error messages again (jfs)
- Mouse wheel now scrolls the audio display, or zooms if shift is held down (you can invert the two in config.dat) (AMZ) - Mouse wheel now scrolls the audio display, or zooms if shift is held down (you can invert the two in config.dat) (amz)
- New lines now keep the style of 'parent' line (AMZ) - New lines now keep the style of 'parent' line (amz)
- First line of script will now be selected when it's loaded (AMZ) - First line of script will now be selected when it's loaded (amz)
- Renamed "Audio Draw Boundary Lines" into "Audio Draw Secondary Lines" (AMZ) - Renamed "Audio Draw Boundary Lines" into "Audio Draw Secondary Lines" (amz)
- Added Undo/Cut/Copy/Paste/Select All to subtitles edit box context menu (AMZ) - Added Undo/Cut/Copy/Paste/Select All to subtitles edit box context menu (amz)
- Added a "OK" button to style editor dialog, and now "Apply" applies changes without closing it (AMZ) - Added a "OK" button to style editor dialog, and now "Apply" applies changes without closing it (amz)
- Paths to video/audio/timecodes files are now stored relative to subtitles (instead of as absolute paths) in [Script Info] (AMZ) - Paths to video/audio/timecodes files are now stored relative to subtitles (instead of as absolute paths) in [Script Info] (amz)
- Audio display now shows previous line in grey (this feature can be disabled (0) or extended to every line (2) with "Audio Inactive Lines Display Mode" on config.dat) (AMZ) - Audio display now shows previous line in grey (this feature can be disabled (0) or extended to every line (2) with "Audio Inactive Lines Display Mode" on config.dat) (amz)
- Audio display height can now be adjusted by drawing the sash under it (AMZ) - Audio display height can now be adjusted by drawing the sash under it (amz)
- Holding shift while clicking on video seek bar now snaps to keyframes (AMZ) - Holding shift while clicking on video seek bar now snaps to keyframes (amz)
- Fixed positioning of subs on video while shift is held down (AMZ) - Fixed positioning of subs on video while shift is held down (amz)
= 1.07 beta - 2005.12.26 =========================== = 1.07 beta - 2005.12.26 ===========================
@ -389,16 +390,16 @@ Please visit http://aegisub.net to download latest version
o Translation Assistant o Translation Assistant
- Most dialog windows now center on the window behind them (jfs) - Most dialog windows now center on the window behind them (jfs)
- The start and end markers for audio selection can now have different colors, use the "Audio Line boundary start" and "Audio Line boundary end" options to change them, the old "Audio Line boundaries" option is no longer used (jfs) - The start and end markers for audio selection can now have different colors, use the "Audio Line boundary start" and "Audio Line boundary end" options to change them, the old "Audio Line boundaries" option is no longer used (jfs)
- Blank script resolution will now be interpreted as 384x288 (VSFilter's default) if script res is blank (AMZ) - Blank script resolution will now be interpreted as 384x288 (VSFilter's default) if script res is blank (amz)
- Audio playing of selection will now play until new end time when it's changed during playback (AMZ) - Audio playing of selection will now play until new end time when it's changed during playback (amz)
- Aegisub will now display a proper error message if it attempts to load an outdated avisynth.dll, instead of just crashing (Myrsloik) - Aegisub will now display a proper error message if it attempts to load an outdated avisynth.dll, instead of just crashing (Myrsloik)
- Automation: Changed the result array from process_lines to use one-based indexes, instead of zero-based indexes, to follow Lua standards. Zero-based indexes still work. The input arrays are still zero-based. (jfs) - Automation: Changed the result array from process_lines to use one-based indexes, instead of zero-based indexes, to follow Lua standards. Zero-based indexes still work. The input arrays are still zero-based. (jfs)
- Automation: Added new factorybrew script, line-per-syllable.lua. Allows you to make line-per-syllable karaoke effects by using variable substitution and calculation. Built off karaskel-adv.lua (jfs) - Automation: Added new factorybrew script, line-per-syllable.lua. Allows you to make line-per-syllable karaoke effects by using variable substitution and calculation. Built off karaskel-adv.lua (jfs)
- Automation: Updated simple-k-replacer.lua to also allow for calculations, and it is based on karaskel.lua now (jfs) - Automation: Updated simple-k-replacer.lua to also allow for calculations, and it is based on karaskel.lua now (jfs)
- Fixed count of matches in Replace All dialog (AMZ) - Fixed count of matches in Replace All dialog (amz)
- Fixed extra line breaks bug in importing from txt (AMZ) - Fixed extra line breaks bug in importing from txt (amz)
- The automation samples are now always installed (Myrsloik) - The automation samples are now always installed (Myrsloik)
- Aegisub will now install VSFilter 2.37 (AMZ) - Aegisub will now install VSFilter 2.37 (amz)
= 1.06a beta - 2005.11.30 ========================== = 1.06a beta - 2005.11.30 ==========================
@ -412,16 +413,16 @@ Please visit http://aegisub.net to download latest version
= 1.06 beta - 2005.11.29 ========================== = 1.06 beta - 2005.11.29 ==========================
- Fixed severe audio stability issues (AMZ) - Fixed severe audio stability issues (amz)
- Fixed size of last character in editbox with syntax highlight off (AMZ) - Fixed size of last character in editbox with syntax highlight off (amz)
- Fixed audio stopping issue (e.g. forcing you to press 'S' or 'Space' twice) (AMZ) - Fixed audio stopping issue (e.g. forcing you to press 'S' or 'Space' twice) (amz)
- Five splash screens are now available. Set "Splash number" to 0 in config.dat to get a random one. Defaults to Akari. (AMZ) - Five splash screens are now available. Set "Splash number" to 0 in config.dat to get a random one. Defaults to Akari. (amz)
(1) Misuzu from Air TV (1) Misuzu from Air TV
(2) Lucy from Elfen Lied (2) Lucy from Elfen Lied
(3) Kozue from Mahoraba (3) Kozue from Mahoraba
(4) Lamhirh (aka Lafiel) from Crest of the Stars (4) Lamhirh (aka Lafiel) from Crest of the Stars
(5) Akari from Aria (5) Akari from Aria
- Added function (Ctrl+6) to shift selection so first line goes to current frame (AMZ) - Added function (Ctrl+6) to shift selection so first line goes to current frame (amz)
- Automation now loads scripts both with and without UTF-8 BOM. They are still required to be UTF-8 encoded. (jfs) - Automation now loads scripts both with and without UTF-8 BOM. They are still required to be UTF-8 encoded. (jfs)
- Fixed crash-bug in Automation related to internal item-count in tables used as arrays (jfs) - Fixed crash-bug in Automation related to internal item-count in tables used as arrays (jfs)
- Automation now displays a proper progress-bar during processing - Automation now displays a proper progress-bar during processing
@ -433,75 +434,75 @@ Please visit http://aegisub.net to download latest version
= 1.05 beta - 2005.11.20 ========================== = 1.05 beta - 2005.11.20 ==========================
- Finally and TRULY fixed the damn audio innacuracy. Now it's 100% reliable (AMZ) - Finally and TRULY fixed the damn audio innacuracy. Now it's 100% reliable (amz)
- Added Spectrum Analyzer display mode to audio (AMZ) - Added Spectrum Analyzer display mode to audio (amz)
- Automation: Added colorstring_to_rgb user-callable function (jfs) - Automation: Added colorstring_to_rgb user-callable function (jfs)
- Automation: Removed useless and unimplemented csec_to_timestamp function from specs (jfs) - Automation: Removed useless and unimplemented csec_to_timestamp function from specs (jfs)
- Automation: Made "Reload" button in GUI reselect the script in the list after reloading (jfs) - Automation: Made "Reload" button in GUI reselect the script in the list after reloading (jfs)
- Tweaked range necessary to grab bars in audio mode (AMZ) - Tweaked range necessary to grab bars in audio mode (amz)
- Added toggle image buttons for audio Autocommit, Autoscroll, SSA Mode and Spectrum Analyzer mode (AMZ) - Added toggle image buttons for audio Autocommit, Autoscroll, SSA Mode and Spectrum Analyzer mode (amz)
- Added display of keyframes on audio (AMZ) - Added display of keyframes on audio (amz)
- Grid will now only stop video playback if autojump is enabled (AMZ) - Grid will now only stop video playback if autojump is enabled (amz)
- Inserted lines will now always have positive duration (AMZ) - Inserted lines will now always have positive duration (amz)
- Forced behavior of color and font choosing dialogs to be modal, to prevent double opening (AMZ) - Forced behavior of color and font choosing dialogs to be modal, to prevent double opening (amz)
- Fixed behavior of actor combobox when adding new actors (AMZ) - Fixed behavior of actor combobox when adding new actors (amz)
- Grid font size now customizeable in config.dat (AMZ) - Grid font size now customizeable in config.dat (amz)
- Hopefully fixed plain karaoke timing with VFR files (AMZ) - Hopefully fixed plain karaoke timing with VFR files (amz)
- Installer no longer unregisters vsfilter (which it never registered in the first place) (movax) - Installer no longer unregisters vsfilter (which it never registered in the first place) (movax)
- Added a button to toggle auto-seeking of video to start of selected line (AMZ) - Added a button to toggle auto-seeking of video to start of selected line (amz)
- Video will now be stopped before any dialog is opened (AMZ) - Video will now be stopped before any dialog is opened (amz)
- You can now use 'Z' and 'X' keys to move to previous/next selection in audio display (AMZ) - You can now use 'Z' and 'X' keys to move to previous/next selection in audio display (amz)
- Highly increased audio display scroll speed (12x, in fact) (AMZ) - Highly increased audio display scroll speed (12x, in fact) (amz)
- Audio horizontal zoom is now centered (AMZ) - Audio horizontal zoom is now centered (amz)
- Replace All will now only affect selected rows (AMZ) - Replace All will now only affect selected rows (amz)
- Added a toolbar button to cycle through override tag hiding modes (AMZ) - Added a toolbar button to cycle through override tag hiding modes (amz)
- Split "Make Times Continuous" in two functions, one changing start and another changing end (AMZ) - Split "Make Times Continuous" in two functions, one changing start and another changing end (amz)
- Added "Add Lead In" and "Add Lead Out" buttons to audio mode (AMZ) - Added "Add Lead In" and "Add Lead Out" buttons to audio mode (amz)
- Translation assistant can now play audio as well (AMZ) - Translation assistant can now play audio as well (amz)
- Ctrl+Enter now accepts changes without going to next line in Styling Assistant (AMZ) - Ctrl+Enter now accepts changes without going to next line in Styling Assistant (amz)
- Added some new shortcuts to manual (manual is still not up to date, though) (AMZ) - Added some new shortcuts to manual (manual is still not up to date, though) (amz)
= 1.04a beta - 2005.11.16 ========================= = 1.04a beta - 2005.11.16 =========================
- Fixed audio horizontal zoom oddity (AMZ) - Fixed audio horizontal zoom oddity (amz)
- Pressing 'S' or 'Space' in audio mode will now stop audio if it's playing (AMZ) - Pressing 'S' or 'Space' in audio mode will now stop audio if it's playing (amz)
- Fixed the karaoke timing that was supposed to be fixed on 1.04 (AMZ) - Fixed the karaoke timing that was supposed to be fixed on 1.04 (amz)
- Fixed random breakups on audio bars dragging (AMZ) - Fixed random breakups on audio bars dragging (amz)
- Fixed undoing syllable timing with autocommit on (AMZ) - Fixed undoing syllable timing with autocommit on (amz)
= 1.04 beta - 2005.11.16 ========================== = 1.04 beta - 2005.11.16 ==========================
- Fixed audio vanishing when video aspect ratio is overriden (AMZ) - Fixed audio vanishing when video aspect ratio is overriden (amz)
- Added "End" hotkey to play audio in styling assistant (AMZ) - Added "End" hotkey to play audio in styling assistant (amz)
- Improved the way that the TXT parser handles comments (AMZ) - Improved the way that the TXT parser handles comments (amz)
- Autocommit with SSA mode will no longer popup warning if you have negative time (AMZ) - Autocommit with SSA mode will no longer popup warning if you have negative time (amz)
- Added "Resample Resolution" tool that changes resolution and modifies everything in script to conform to it (AMZ) - Added "Resample Resolution" tool that changes resolution and modifies everything in script to conform to it (amz)
- Aegisub now asks if you want to load files linked with subs (AMZ) - Aegisub now asks if you want to load files linked with subs (amz)
- Changed audio autofocus to be an option (disabled by default) (AMZ) - Changed audio autofocus to be an option (disabled by default) (amz)
- New lines created by reaching end of file and pressing enter now default time to end of last line, lasting 5 seconds (AMZ) - New lines created by reaching end of file and pressing enter now default time to end of last line, lasting 5 seconds (amz)
- Fixed issues with duplicated lines (AMZ) - Fixed issues with duplicated lines (amz)
- Styles manager now properly flag file as modified (AMZ) - Styles manager now properly flag file as modified (amz)
- Styles editor now commits changes to video imediately (AMZ) - Styles editor now commits changes to video imediately (amz)
- Audio commit no longer resets selected syllable to first (AMZ) - Audio commit no longer resets selected syllable to first (amz)
- Added "Apply now" button in Automation Manager to instantly apply a script to the currently loaded subs (jfs) - Added "Apply now" button in Automation Manager to instantly apply a script to the currently loaded subs (jfs)
- Moved encoding selection during export to a combobox in the Export window (jfs) - Moved encoding selection during export to a combobox in the Export window (jfs)
- Fixed bug where the [Script Info] line disappeared when exporting to a non-UTF encoding (jfs) - Fixed bug where the [Script Info] line disappeared when exporting to a non-UTF encoding (jfs)
- Fixed small layout issue on Export dialog (AMZ) - Fixed small layout issue on Export dialog (amz)
- Fixed another crash with karaoke timing (AMZ) - Fixed another crash with karaoke timing (amz)
= 1.03 beta - 2005.11.12 ========================== = 1.03 beta - 2005.11.12 ==========================
- Fixed bug that caused an unhandled exception if you tried to enter letters for margin value (AMZ) - Fixed bug that caused an unhandled exception if you tried to enter letters for margin value (amz)
- Fixed bug in style manager which allowed you to try to delete/edit/move zero styles after a deletion (AMZ) - Fixed bug in style manager which allowed you to try to delete/edit/move zero styles after a deletion (amz)
- Fixed several bugs related to deleting storages from styles catalog (AMZ) - Fixed several bugs related to deleting storages from styles catalog (amz)
- Manual edited and updated (Jcubed, AMZ) - Manual edited and updated (Jcubed, amz)
- Audio display now has a green outline when focused (AMZ) - Audio display now has a green outline when focused (amz)
- Clicking the audio buttons now sends focus back to display (AMZ) - Clicking the audio buttons now sends focus back to display (amz)
- Fixed long delay when playing audio for the first time (AMZ) - Fixed long delay when playing audio for the first time (amz)
- Substation Alpha style shortcuts implemented when audio display is focused (AMZ): - Substation Alpha style shortcuts implemented when audio display is focused (amz):
'a' moves back 'a' moves back
's' plays selection 's' plays selection
'd' plays 500ms before end of selection 'd' plays 500ms before end of selection
@ -512,71 +513,71 @@ Please visit http://aegisub.net to download latest version
'q' plays 500ms before selection 'q' plays 500ms before selection
'w' plays 500ms after selection 'w' plays 500ms after selection
'e' plays 500ms after start of selection 'e' plays 500ms after start of selection
- Added shortcut descriptions to buttons on toolbar (AMZ) - Added shortcut descriptions to buttons on toolbar (amz)
- Splash screen no longer has a taskbar button for it (AMZ) - Splash screen no longer has a taskbar button for it (amz)
- Fixed bug which locked program on frame mode after closing video or timecodes (AMZ) - Fixed bug which locked program on frame mode after closing video or timecodes (amz)
- Fixed width of time columns when switching from frame to time modes and vice-versa (AMZ) - Fixed width of time columns when switching from frame to time modes and vice-versa (amz)
- Added delete rows shortcut (Ctrl+Del) (AMZ) - Added delete rows shortcut (Ctrl+Del) (amz)
- Grid popup menu now shows shortcuts (AMZ) - Grid popup menu now shows shortcuts (amz)
- Fixed audio imprecision when playing (AMZ) - Fixed audio imprecision when playing (amz)
- Fixed audio randomly not working (AMZ) - Fixed audio randomly not working (amz)
- Fixed crash when trying to close Aegisub with audio playing (AMZ) - Fixed crash when trying to close Aegisub with audio playing (amz)
- Numeric editboxes no longer accept non-numeric input (AMZ) - Numeric editboxes no longer accept non-numeric input (amz)
- Video playback now stops if you click on a line on grid (AMZ) - Video playback now stops if you click on a line on grid (amz)
- Added shortcuts to zoom video in and out (Ctrl+Numpad + and Ctrl+Numpad -) (AMZ) - Added shortcuts to zoom video in and out (Ctrl+Numpad + and Ctrl+Numpad -) (amz)
- Added Drag and Drop support for subtitles, audio and video files (AMZ) - Added Drag and Drop support for subtitles, audio and video files (amz)
- Added "Play Audio" button to Styling Assistant (AMZ) - Added "Play Audio" button to Styling Assistant (amz)
- SSA mode timing now allows backwards times, but will warn you and won't let you commit (AMZ) - SSA mode timing now allows backwards times, but will warn you and won't let you commit (amz)
- Added cursor to audio mode showing current time (AMZ) - Added cursor to audio mode showing current time (amz)
= 1.02a beta - 2005.11.09 ========================= = 1.02a beta - 2005.11.09 =========================
- Added karaskel-adv.lua script, which should be in 1.02... shippai, shippai ^_^" (AMZ) - Added karaskel-adv.lua script, which should be in 1.02... shippai, shippai ^_^" (amz)
= 1.02 beta - 2005.11.08 ========================== = 1.02 beta - 2005.11.08 ==========================
- Aegisub will now look for vsfilter on its path before anywhere else (AMZ) - Aegisub will now look for vsfilter on its path before anywhere else (amz)
- Aegisub will now prompt you to unload timecodes when you load a new video (AMZ) - Aegisub will now prompt you to unload timecodes when you load a new video (amz)
- Fixed behavior of "Opaque" checkbox in style editor (AMZ) - Fixed behavior of "Opaque" checkbox in style editor (amz)
- Added spacing edit box on style editor (AMZ) - Added spacing edit box on style editor (amz)
- F2 now behaves the same as Ctrl+S (that is, saves) (AMZ) - F2 now behaves the same as Ctrl+S (that is, saves) (amz)
- Avisynth cache fixed (should make seeking backwards much faster) (AMZ) - Avisynth cache fixed (should make seeking backwards much faster) (amz)
- Setting "Avisynth MemoryMax" on config.dat to 0 now uncaps memory (AMZ) - Setting "Avisynth MemoryMax" on config.dat to 0 now uncaps memory (amz)
- TXT parser now only accepts actor name if there are no spaces before it, to prevent misinterpretations (AMZ) - TXT parser now only accepts actor name if there are no spaces before it, to prevent misinterpretations (amz)
- Fixed bug with Copy and Delete which caused them to assume that a continuous range was used (AMZ) - Fixed bug with Copy and Delete which caused them to assume that a continuous range was used (amz)
- Fixed glitch on export dialog with too long configurations from automation script (AMZ) - Fixed glitch on export dialog with too long configurations from automation script (amz)
- Installer now waits properly for uninstall (movax) - Installer now waits properly for uninstall (movax)
- Installer now checks for Avisynth version for overwriting (movax) - Installer now checks for Avisynth version for overwriting (movax)
- Installer now installs VSFilter anyway if it's checked, and won't register it as DirectShow filter (movax) - Installer now installs VSFilter anyway if it's checked, and won't register it as DirectShow filter (movax)
- Installer now detects another copy of installer already running (movax) - Installer now detects another copy of installer already running (movax)
- Fixed bug in Automation demo 4: used a wrong function name (jfs) - Fixed bug in Automation demo 4: used a wrong function name (jfs)
- Fixed bug in Automation demo 8: Forgot &H& around hex color (jfs) - Fixed bug in Automation demo 8: Forgot &H& around hex color (jfs)
- Hopefully fixed VFR timing to fix 1 frame errors on a few lines (AMZ) - Hopefully fixed VFR timing to fix 1 frame errors on a few lines (amz)
- Removed some redundant logging function that I forgot to remove from VFR code, which was creating an empty aegisub.txt on c: (AMZ) - Removed some redundant logging function that I forgot to remove from VFR code, which was creating an empty aegisub.txt on c: (amz)
- Fixed loading of files with spacing on dialogue margins columns (e.g. generated from Sabbu) (AMZ) - Fixed loading of files with spacing on dialogue margins columns (e.g. generated from Sabbu) (amz)
- Fixed styling assistant's "Help" button (AMZ) - Fixed styling assistant's "Help" button (amz)
- Output sample rate can now be set in config.dat for lower memory usage at the cost of A LOT of opening time (AMZ) - Output sample rate can now be set in config.dat for lower memory usage at the cost of A LOT of opening time (amz)
- Fixed Translation Assistant video preview (AMZ) - Fixed Translation Assistant video preview (amz)
- Audio cache now defaults to HD if user has less than 400 MB RAM (yes, semi-random number) (AMZ) - Audio cache now defaults to HD if user has less than 400 MB RAM (yes, semi-random number) (amz)
- New advanced (lines-per-syllable) karaoke skeleton Automation include file (karaskel-adv.lua), including demo (9-skeleton-advanced.lua) (jfs) - New advanced (lines-per-syllable) karaoke skeleton Automation include file (karaskel-adv.lua), including demo (9-skeleton-advanced.lua) (jfs)
= 1.01 Beta - 2005.11.06 ========================== = 1.01 Beta - 2005.11.06 ==========================
- Substation Alpha style audio timing (left click = start, right click = end) implemented as an option (AMZ) - Substation Alpha style audio timing (left click = start, right click = end) implemented as an option (amz)
- Fixed loading of SSA styles in VB Hex if they contained a space or tab around them (AMZ) - Fixed loading of SSA styles in VB Hex if they contained a space or tab around them (amz)
- Fixed crash when trying to apply overrides on a line with *Default or non-existing style (AMZ) - Fixed crash when trying to apply overrides on a line with *Default or non-existing style (amz)
- Fixed unhandled exception when attempting to load unknown audio formats (AMZ) - Fixed unhandled exception when attempting to load unknown audio formats (amz)
- Fixed bug causing artifacts like {\fs40{\fnArial}} if you tried to insert style with cursor positioned just to the left of "}" (AMZ) - Fixed bug causing artifacts like {\fs40{\fnArial}} if you tried to insert style with cursor positioned just to the left of "}" (amz)
- Fixed bug causing crashes on lines with multiple adjascent override groups (AMZ) - Fixed bug causing crashes on lines with multiple adjascent override groups (amz)
- Fixed delay in playing audio by switching implementation from WMME to DirectShow (AMZ) - Fixed delay in playing audio by switching implementation from WMME to DirectShow (amz)
- Focus is now set back to editbox when you click on of the style override buttons (AMZ) - Focus is now set back to editbox when you click on of the style override buttons (amz)
- Installer now checks for user level and OS compatibility before installing (movax) - Installer now checks for user level and OS compatibility before installing (movax)
- Holding down shift while hovering video now shows coordinates relative to bottomright corner (AMZ) - Holding down shift while hovering video now shows coordinates relative to bottomright corner (amz)
- Pressing Play when video plays now pauses it (AMZ) - Pressing Play when video plays now pauses it (amz)
- Can now choose font for text field on grid and edit box (AMZ) - Can now choose font for text field on grid and edit box (amz)
- Added karaoke "skeleton" include Lua script (karaskel.lua) and a demo showing its usage (8-skeleton.lua) (jfs) - Added karaoke "skeleton" include Lua script (karaskel.lua) and a demo showing its usage (8-skeleton.lua) (jfs)

View file

@ -99,7 +99,7 @@ void HelpButton::InitStatic() {
page[_T("Automation Manager")] = _T("Automation_Manager"); page[_T("Automation Manager")] = _T("Automation_Manager");
page[_T("Colour Picker")] = _T("Colour_Picker"); page[_T("Colour Picker")] = _T("Colour_Picker");
page[_T("Dummy Video")] = _T("Dummy_video"); page[_T("Dummy Video")] = _T("Dummy_video");
page[_T("Export")] = _T("Export"); page[_T("Export")] = _T("Exporting");
page[_T("Fonts Collector")] = _T("Fonts_Collector"); page[_T("Fonts Collector")] = _T("Fonts_Collector");
page[_T("Kanji Timer")] = _T("Kanji_Timer"); page[_T("Kanji Timer")] = _T("Kanji_Timer");
page[_T("Main")] = _T(""); page[_T("Main")] = _T("");

View file

@ -60,6 +60,7 @@ private:
wxCSConv *conv; wxCSConv *conv;
wxString affpath; wxString affpath;
wxString dicpath; wxString dicpath;
wxString usrdicpath;
void Reset(); void Reset();
@ -133,13 +134,19 @@ void HunspellSpellChecker::AddWord(wxString word) {
// Add to currently loaded file // Add to currently loaded file
hunspell->add(word.mb_str(*conv)); hunspell->add(word.mb_str(*conv));
// Ensure that the path exists
wxFileName fn(usrdicpath);
if (!fn.DirExists()) {
wxFileName::Mkdir(fn.GetPath());
}
// Load dictionary // Load dictionary
wxArrayString dic; wxArrayString dic;
wxString curLine; wxString curLine;
if (!dicpath.IsEmpty()) { // Even if you ever want to remove this "if", keep the braces, so the stream closes at the end bool added = false;
if (fn.FileExists()) { // Even if you ever want to remove this "if", keep the braces, so the stream closes at the end
bool first = true; bool first = true;
bool added = false; wxFileInputStream in(usrdicpath);
wxFileInputStream in(dicpath);
if (!in.IsOk()) return; if (!in.IsOk()) return;
wxTextInputStream textIn(in,_T(" \t"),*conv); wxTextInputStream textIn(in,_T(" \t"),*conv);
@ -148,6 +155,7 @@ void HunspellSpellChecker::AddWord(wxString word) {
// Read line // Read line
curLine = textIn.ReadLine(); curLine = textIn.ReadLine();
curLine.Trim(); curLine.Trim();
if (curLine.IsEmpty()) continue;
// First // First
if (first) { if (first) {
@ -165,9 +173,12 @@ void HunspellSpellChecker::AddWord(wxString word) {
dic.Add(curLine); dic.Add(curLine);
} }
} }
// Not added yet
if (!added) dic.Add(word);
// Write back to disk // Write back to disk
wxFileOutputStream out(dicpath); wxFileOutputStream out(usrdicpath);
if (!out.IsOk()) return; if (!out.IsOk()) return;
wxTextOutputStream textOut(out,wxEOL_UNIX,*conv); wxTextOutputStream textOut(out,wxEOL_UNIX,*conv);
textOut.WriteString(wxString::Format(_T("%i"),dic.Count())+_T("\n")); textOut.WriteString(wxString::Format(_T("%i"),dic.Count())+_T("\n"));
@ -259,10 +270,12 @@ void HunspellSpellChecker::SetLanguage(wxString language) {
// Get dir name // Get dir name
wxString path = DecodeRelativePath(Options.AsText(_T("Dictionaries path")),StandardPaths::DecodePath(_T("?data/"))) + _T("/"); wxString path = DecodeRelativePath(Options.AsText(_T("Dictionaries path")),StandardPaths::DecodePath(_T("?data/"))) + _T("/");
wxString userPath = StandardPaths::DecodePath(_T("?user/dictionaries/user_"));
// Get affix and dictionary paths // Get affix and dictionary paths
affpath = path + language + _T(".aff"); affpath = path + language + _T(".aff");
dicpath = path + language + _T(".dic"); dicpath = path + language + _T(".dic");
usrdicpath = userPath + language + _T(".dic");
// Check if language is available // Check if language is available
if (!wxFileExists(affpath) || !wxFileExists(dicpath)) return; if (!wxFileExists(affpath) || !wxFileExists(dicpath)) return;
@ -270,7 +283,23 @@ void HunspellSpellChecker::SetLanguage(wxString language) {
// Load // Load
hunspell = new Hunspell(affpath.mb_str(wxConvLocal),dicpath.mb_str(wxConvLocal)); hunspell = new Hunspell(affpath.mb_str(wxConvLocal),dicpath.mb_str(wxConvLocal));
conv = NULL; conv = NULL;
if (hunspell) conv = new wxCSConv(wxString(hunspell->get_dic_encoding(),wxConvUTF8)); if (hunspell) {
conv = new wxCSConv(wxString(hunspell->get_dic_encoding(),wxConvUTF8));
// Load user dictionary
if (wxFileExists(usrdicpath)) {
wxFileInputStream in(usrdicpath);
if (!in.IsOk()) return;
wxTextInputStream textIn(in,_T(" \t"),*conv);
while (in.CanRead() && !in.Eof()) {
// Read line
wxString curLine = textIn.ReadLine();
curLine.Trim();
if (curLine.IsEmpty() || curLine.IsNumber()) continue;
hunspell->add(curLine.mb_str(*conv));
}
}
}
} }
#endif // WITH_HUNSPELL #endif // WITH_HUNSPELL

View file

@ -1004,6 +1004,7 @@ void SubsTextEditCtrl::OnSelectAll(wxCommandEvent &event) {
// Add word to dictionary // Add word to dictionary
void SubsTextEditCtrl::OnAddToDictionary(wxCommandEvent &event) { void SubsTextEditCtrl::OnAddToDictionary(wxCommandEvent &event) {
if (spellchecker) spellchecker->AddWord(currentWord); if (spellchecker) spellchecker->AddWord(currentWord);
UpdateStyle();
SetFocus(); SetFocus();
} }