Commit Graph

3243 Commits

Author SHA1 Message Date
Moritz Bunkus
aa08f99fb4 Added language selection pages to the header editor. 2009-03-21 16:31:23 +01:00
Moritz Bunkus
7789e54c8f Added bit value pages to the header editor (for segment UIDs etc). 2009-03-21 16:00:37 +01:00
Moritz Bunkus
638199409d Added a float header value page.
And also the track timecode scale header value.
2009-03-21 15:22:24 +01:00
Moritz Bunkus
cd91b8f622 Added a couple of header fields and two value type pages. 2009-03-21 15:22:24 +01:00
Moritz Bunkus
3df11deddd Updated a couple of descriptions. 2009-03-21 15:22:23 +01:00
Moritz Bunkus
6fc87467fd Let the child page insert itself into the parent's list of children
Saves one line of code per page.
2009-03-21 15:22:23 +01:00
Moritz Bunkus
5ac42ff8b2 Header editor: cosmetics for the GUI
Only display the "segment info" and "tracks" elements once each.
Always display the "segment info" element before the "tracks" element.
2009-03-21 15:22:23 +01:00
Moritz Bunkus
ea2dca74fb Various bug fixes to the "update element in existing Matroska file" algorithm
Also added support for a rare situation during the update to the meta seek elements.
2009-03-21 15:22:23 +01:00
Moritz Bunkus
27cf4317bd Rewrite of the "update specific element in existing Matroska file" function, part 1 2009-03-21 15:22:22 +01:00
Moritz Bunkus
095bc5505b Rewrite of the "update specific element in existing Matroska file" function, part 1 2009-03-21 15:22:22 +01:00
Moritz Bunkus
b38da2caca Enabled saving in the header editor
Saving is enabled but buggy. kax_analyzer_c::update_element() be completely rewritten.
Created a page class for top level pages (segment info, track).
2009-03-21 15:22:22 +01:00
Moritz Bunkus
71ad224422 Refactoring of header editor functions
1. The he_page_base_c class contains the functions for checking all its children. The derived classes have a "..._this()" function for validation, modification and looking for changes that only take care of itself but not if its children.
2. Added a function for displaying appropriate messages for the result of the analyzer's update_element() function (still unused).
2009-03-21 15:22:22 +01:00
Moritz Bunkus
60e6e8429b The kax_analyzer_c::update_element() function returns an error code and does not display messages.
That way the calling function can display proper error messages depending on the element types it tries to write.
At the moment only the chapter editor uses this function, but the header editor will as well.
2009-03-21 15:22:21 +01:00
Moritz Bunkus
81e797c324 Use the wxProgressDialog for displaying the analysis progress. 2009-03-21 15:22:21 +01:00
Moritz Bunkus
7de5072059 Various new functions in the header editor.
1. Implemented the code for processing the modifications the user did in the UI by altering the Ebml* structures (untested).
2. Implemented a "reload file" function.
3. Implemented the sanity checks in the "save file" logic:
3.1. a check if the file has been modified since the header editor had read it,
3.2. a check if there were actual modifications,
3.3. a check if the modifications are valid.
2009-03-21 15:22:21 +01:00
Moritz Bunkus
5011fc3d94 Display the header editor value pages in a grid layout.
Also add a type description so the user knows what he may enter.
2009-03-21 15:22:21 +01:00
Moritz Bunkus
503f2ea882 Store a pointer to the top level page for each subtree page. 2009-03-21 15:22:20 +01:00
Moritz Bunkus
3d5d0dda06 Store EbmlCallbacks instead of EbmlIds.
The reason is that the EbmlCallbacks can be used to create new objects which I will need later.
2009-03-21 15:22:20 +01:00
Moritz Bunkus
ad369a59b7 Moved all header editor classes into separate files.
Also moved common functions into common* files.
2009-03-21 15:22:20 +01:00
Moritz Bunkus
0febefa46c Header editor: Use validator and validate unsigned integer values 2009-03-21 15:22:20 +01:00
Moritz Bunkus
781a2646a1 Added functions for parsing unsigned integer values.
I need this for wxWidgets, and the wxString::To(U)LongLong() functions
seem not to be compiled on my wxWidgets.
2009-03-21 15:22:19 +01:00
Moritz Bunkus
0f6a538326 Header editor: Handle "item will not be present after saving" as being valid. 2009-03-21 15:22:19 +01:00
Moritz Bunkus
c6182c4fda Header editor: En-/disable the input when the user clicks the "add/remove" checkbox 2009-03-21 15:22:19 +01:00
Moritz Bunkus
b77b367364 Header editor: Implemented the "Reset" button for value pages.
The values are reset to their original value, and the
"add or remove" checkboxes are unchecked.
2009-03-21 15:22:19 +01:00
Moritz Bunkus
28fa970eb6 Tons of updates for the header editor
1. Removed debug code.
2. Made he_value_page_c a pure virtual base class. It provides the basic layout and lets the children create the type specific controls.
3. Added he_string_value_page_c for string values.
4. Added he_unsigned_integer_value_page_c for unsigned integer values.
5. Added functions for validating all header values.
6. Added functions for finding out whether or not any header value has been changed.
7. Added a function for closing the opened file and clearing the inputs.
8. Added functions and menu entries for expanding/collapsing all entries. All entries are expanded after loading.
2009-03-21 15:22:19 +01:00
Moritz Bunkus
94417d2a11 Much more code for the header editor. 2009-03-21 15:22:18 +01:00
Moritz Bunkus
dcdf7c0b67 The start of a header editor
Added the menu entry and the basic window layout.
2009-03-21 15:22:18 +01:00
Moritz Bunkus
aa198b5ce8 Updated the Japanese translation. 2009-03-21 12:16:03 +01:00
Moritz Bunkus
52d1ee5fb9 Updates to the translation. 2009-03-21 11:43:50 +01:00
Moritz Bunkus
f6c60e371c Added a make target for displaying msgfmt statistics for all translations. 2009-03-21 11:41:28 +01:00
Moritz Bunkus
ca158fde4a Convert simple chapter output to the current output charset instead of always converting to UTF-8.
This allows the user to change the charset with --output-charset.
Before chapters were not converted at all resulting in UTF-8 output
on every system, and --output-charset had no effect on it.

This does not affect the output of XML style chapter files.

Fix for bug 359.
2009-03-21 11:36:19 +01:00
Moritz Bunkus
8342b5cbab Updates to the Japanese translation. 2009-03-20 13:34:12 +01:00
Moritz Bunkus
c50cc0243b Cosmetics. 2009-03-19 09:39:23 +01:00
Moritz Bunkus
f63200363b Store QuickTime audio codecs with CodecID "A_QUICKTIME".
QuickTime audio tracks will be stored with the CodecID "A_QUICKTIME".
The CodecPrivate element contains the full "STSD" element from the QuickTime file
(just like V_QUICKTIME). This method is used for all audio tracks which
don't have a well-defined storage spec for Matroska (e.g. AAC, AC3,
MP2/3 are still stored as A_AC3, A_AAC etc). Hopefully a fix for bugs 354 and 357.
2009-03-18 22:57:26 +01:00
Moritz Bunkus
5f96029dba Use a memory_c object instead of allocating memory manually. Cosmetics. 2009-03-18 22:06:05 +01:00
Moritz Bunkus
0263e8a2d9 Include the "size" field in the CodecPrivate element for QuickTime tracks.
Fix for bug 355.
2009-03-18 21:05:38 +01:00
Moritz Bunkus
a9b37866fa Merge branch 'master' of file:///home/mosu/prog/video/mkvtoolnix 2009-03-18 20:23:52 +01:00
Moritz Bunkus
c7993b4fcb Use "read only" sharing mode on Windows for files that are written to. 2009-03-18 20:23:48 +01:00
Moritz Bunkus
ac2db254ab Added a Japanese translation by Hiroki Taniura. 2009-03-18 20:20:55 +01:00
Moritz Bunkus
5896591732 Cosmetics. 2009-03-18 11:37:29 +01:00
Moritz Bunkus
1b73f480e8 Fix for little endian PCM tracks in MOV files
Fix for bug 356.
2009-03-17 12:27:57 +01:00
Moritz Bunkus
3d425dfc6f Properly initialize the console locale
Otherwise conversion will fail on non-UTF-8 locales,
e.g. on German or Japanese Windows.
2009-03-15 15:30:20 +01:00
Moritz Bunkus
02b7082846 Updates 2009-03-15 15:08:05 +01:00
Moritz Bunkus
84f70308cd Added a configure check for checking if wxWidgets was compiled with Unicode support. 2009-03-15 15:05:28 +01:00
Moritz Bunkus
a75139a16e Translations are UTF-8 and must be converted accordingly.
Also removed support for non-Unicode builds of wxWdigets.
2009-03-15 11:05:40 +01:00
Moritz Bunkus
cc039f6e1f Update to the ChangeLog. 2009-03-14 14:41:34 +01:00
Moritz Bunkus
232cb23cf3 Use GetOEMCP() for getting the local code page instead of GetACP().
Windows uses two code pages; one for cmd.exe and one for the rest.
They can be different (e.g. on a German Windows). As most programs
output text to the console unless the user overrides this with
--redirect-output the programs should use cmd.exe's code page
as their default code page. This is what GetOEMCP() does.

Overriding it with --output-charset is still possible.
2009-03-14 14:25:08 +01:00
Moritz Bunkus
f5209cf52d Close the console that is started with mkvinfo in GUI mode on Windows 2009-03-08 14:25:46 +01:00
Moritz Bunkus
5e42b0a1f5 Added the Matroska icon as a resource to mkvinfo on Windows
That way the icon will be shown in the task bar.
2009-03-08 14:17:02 +01:00
Moritz Bunkus
4983829ad8 Recode EbmlUnicodeStrings to UTF-8 encoded C strings
mkvinfo expects strings to be encoded in UTF-8 when they're displayed. Fix for bug 353.
2009-03-08 14:03:01 +01:00