Commit Graph

3262 Commits

Author SHA1 Message Date
Moritz Bunkus
95550f3644 Renamed panel to frame_panel and m_panel to m_page_panel. 2009-03-22 20:44:02 +01:00
Moritz Bunkus
99a483c9ee Use a panel for the header editor window background.
Otherwise the window will look strange on Windows.
2009-03-22 20:41:01 +01:00
Moritz Bunkus
f727715599 Only open the pre-defined muh.mkv if the environment variable MTX_DEBUG is set. 2009-03-22 20:38:53 +01:00
Moritz Bunkus
d41390aa10 Replaced the wxTreebook in the header editor with a wxTreeCtrl and my own control logic.
The reason is that the wxTreebook offers the program almost no control over
the size of the tree and the pages. This causes weird effects both on Linux
and on Windows: the tree is often way to small, it gets resized each time
the user selects an item, tree items are not redrawn properly on Windows.
2009-03-22 20:07:15 +01:00
Moritz Bunkus
80aba95b89 Merge branch 'master' of file:///home/mosu/prog/video/mkvtoolnix 2009-03-22 15:27:03 +01:00
Moritz Bunkus
9afaf82770 Typo. 2009-03-22 15:25:22 +01:00
Moritz Bunkus
40a1dc6ff5 Windows doesn't seem to like such big event IDs. 2009-03-22 00:45:56 +01:00
Moritz Bunkus
e381505950 Fixes for compilation with mingw/other wxWidgets version. 2009-03-22 00:37:01 +01:00
Moritz Bunkus
5693b3d73a Remove wxWidgets 2.6 compatiblity options
mmg requires wxWidgets 2.8 now which defines wxFD_OPEN etc. No need to check for it in configure.
2009-03-22 00:14:27 +01:00
Moritz Bunkus
1e88b396e1 The header editor requires wxWidgets 2.8.0. 2009-03-22 00:09:34 +01:00
Moritz Bunkus
0003a1b523 Added documentation for the header editor. 2009-03-22 00:09:11 +01:00
Moritz Bunkus
7fd8717588 Don't expand the header elements after loading the file. 2009-03-21 23:29:59 +01:00
Moritz Bunkus
97f8f14a73 Added an option --edit-headers for mmg to start with the header editor opening the given file name. 2009-03-21 23:18:02 +01:00
Moritz Bunkus
f9603aa9ac Translated the header editor into German. 2009-03-21 20:00:27 +01:00
Moritz Bunkus
d80bf052ec Changed debug code to production code. 2009-03-21 19:03:27 +01:00
Moritz Bunkus
0a7bf065bf Removed debug code. 2009-03-21 19:00:33 +01:00
Moritz Bunkus
f9e4b3834a Remove trailing zeroes and trailing decimal points from the output of floating point header fields. 2009-03-21 18:59:35 +01:00
Moritz Bunkus
5e927637fd Added most audio and video specific track parameters. 2009-03-21 18:54:36 +01:00
Moritz Bunkus
b79abf3803 Added support for header values in sub-masters (e.g. the video or audio specific track parameters). 2009-03-21 18:37:16 +01:00
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