Strict Standards: Redefining already defined constructor for class wpdb in /www/htdocs/w006f36b/wp-includes/wp-db.php on line 49

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w006f36b/wp-includes/cache.php on line 35

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /www/htdocs/w006f36b/wp-includes/cache.php on line 400

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 553

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /www/htdocs/w006f36b/wp-includes/classes.php on line 674

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w006f36b/wp-includes/query.php on line 15

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w006f36b/wp-includes/theme.php on line 505
MauriceK, caught between dev and drums » K-1

June 9, 2006

Eastern in the early summer…

Category: K-1 — kaldor @ 1:32 pm

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /www/htdocs/w006f36b/wp-includes/formatting.php on line 76

Status By: (June 09th 2006, 01:30 pm)

This looks like a normal-human time, ay ;)

Ok, I didn’t blog a lot about K-1 in the last days, because I just didn’t find the time for it. But I guess we all prefer that I do some coding than blogging right? And yes I’ve coded a little bit. First of all I want to show the people, who scream for screenshots, some visual results:

Preview

Preview

I did some rework on the loading stuff. Some informations are shown during the loading process. But that’s only the visual part. Beside that, I found a way to load a file about 100% faster than before. To be honest, the old implementation was total crap. But as always you recognize this only at a second view on it.

Additionally there is a new About Window, which I do not show any screenshots of. And it has been time for adding the first easter-egg. Currently only one beta-tester has been able to find it, although all hints for it are given in the About…

As there is not many time left for me this day, I will just give some short words, on what have been fixed also

  • Rendering engine has been fixed. When saving got cancelled, playback was broken…
  • Updates german locale files…
  • Fixed some typos…
  • Updated the building engine a little bit…
  • Added Revision number to About window for more easy beta-testing…
  • Worked a little bit on R5 compatibility…

And now I am off watching the opening match of the Soccer World Championship here in Germany.

May 24, 2006

Falling over weaknesses of previous responsibilities…

Category: K-1 — kaldor @ 1:30 am

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /www/htdocs/w006f36b/wp-includes/formatting.php on line 76

Damn, this has been a productive day. At first it didn’t look like this, but now I am more than happy with the things being solved by this night. Unfortunately I fell over 2 bugs in the MediaKit of ZETA no one recognized before. This really sucks as I had a chance to fix this once. So, if anyone will ever get into the same situation maybe these information will help you

  • BMediaRoster::SetRunModeNode() doesn’t seem to work correctly. Asking for the RunMode inside of the node after setting it, I have been pretty surprised as still it had the previous state. During construction of a Node it seems to get B_DROP_DATA state. Afterwards I set it to B_INCREASE_LATENCY for playback. The docs say that you should use B_OFFLINE for saving to file actions. So that’s exactly what I tried. But as mentioned before the RunMode still remains in B_INCREASE_LATENCY. The only way to work around was sending a Message to the sound producing node and storing a fake run_mode/playback_state in an own variable.
  • BBufferGroup::RequestBuffer() has an undocumented behaviour. That is actually the reason why rendering hasn’t been working fully yesterday. Given the situation you request a buffer of 4K size. As we all now, this means 4096 bytes. The MediaKit seems to allocate more memory for the buffer. SizeAvailable() of the buffer returns 4160. This is ok with me, but if you access the used data size with SizeUsed() what do you expect it returns? 4096 or 4160? Yes, it is 4160. I would have expected the situation that at least SizeUsed() returns the 4096, because I requested this size. The used size can be changed afterwards per SetSizeUsed() and that’s what it is doing now. Parsing the buffer over to the rendering node, it now gets the correct size when checking for it and saving to the file works fluently.

As this has been done, I focused on something I wanted to manage as soon as possible. Some preprocessor checks were added to look wether K1 gets compiled under ZETA or any other BeOS related operating system. In R5 case localization gets disabled and english is the standard application language. Additionally some internal structures has been changed, so that by now K1 should compile and run on R5 without problems. I will try to get it to run by tomorrow, so be prepared to get a new screenshot.

Good fight, good night!

May 23, 2006

Redundancy, oh why?

Category: K-1 — kaldor @ 3:07 am

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /www/htdocs/w006f36b/wp-includes/formatting.php on line 76

Having two blogs about the same project may seem senseless, but nevertheless currently there’s no way around. So here’s the latest K-1 progress:

Hm… lots and lots of code, but still not done with the current part of the project. I’ve been working hard on the saving/rendering engine. It is based on some neat elements. In the beginning I thought I might use the media_writer.media_addon from Haiku, but very soon issues with this one were coming along. It is simply not usable. Because of this and some personal reasons I decided to implement a K1 media_writer.media_addon. This one is derived from BBufferConsumer, BContollable as well as from BFileInterface and fits for everything needed at K1. Later the code for this add-on may get opensourced on request as it is totally outside of the code of K1. During startup K1 checks, wether the addon has been loaded by the media_addon_server. If not, saving is not possible, but you can work nevertheless and save your work in your project files, as soon as this is implemented.
Talking about the saving algorithm itself, I had a discussion with a friend about a feature, which came up accidently. If you select a certain area of the track, you are able just to export this one. So cutting and saving in a fast manner is doable very very easy now.
Issues which are still left depend on certain media_formats. Unfortunately some files get saved with the wrong bitrate. As soon as this is fixed, saving should be implemented more or less and it’s time for the beta-testers to run some media files on K1.
During all the time testing, I realized that the file-loading algorithm is much too slow. Currently it is decoding the whole file and afterwards creates the preview. This can be done in one step for most cases. Sometimes a Codec returns a wrong Duration() as the file gets still parsed while I want to have this information. That’s the reason, why for instance MediaConverter is sometimes not converting a whole file. Checking wether the information is correct can be done during decoding and only if the duration changes a complete re-run over the Cache makes sense. But this is to be scheduled after the rendering…