|
Rockbox mail archiveSubject: key schemes: proof of concept II - apps.zip (0/1)key schemes: proof of concept II - apps.zip (0/1)
From: langhaarrocker <phil_at_x-phobie.de>
Date: Mon, 14 Oct 2002 01:26:14 +0200 Sorry guys. I think I made a big mistake. I only wanted to make a proof of concept and thought it might be good not to change too much of the old code but to try it with new code. Now this proof became somehow big - which is not useful because of its quantity. So how do you get an overview of this stuff? 1.) look at apps/key_scheme.h to get a basic understanding of the data structures that I used. 2.) look at .rockbox/default.txt to get an impression on how the file format is intended. It may look a bit confusing first but consider that this file defines what will be the compiled-in factory defaults later. When the user want's to change that he can extend these default by inheritence and his files will be less complex. 3.) look at apps/recorder/screen.c to see how the key scheme can be used to replace the big switch statments for evaluating button events. 4.) look at apps/commands.c and apps/settings.c to see how commands are defined and propagated for use with key schemes 5.) The split editor is a new module that I used to experiment with key schemes. About the split editor It is intended as a gui to help the user find an appropriate split point. While playing enter the menu->split editor. The split editor will play a loop and you will see an oscillosgraph building up. With the left / right button you can navigate a cursor which specifies the split position. With the up / down button you can zoom the graph. Note that it shows you a rough preview which is updated with real data while playing the loop. F2 toggles different loop modes (from/to/over split point). F3 switches db / linear scale. With on + left/play/right the speed is adjusted. This patch consists of new files: apps/key_scheme.c apps/key_scheme.h These files contain the basic engine of the key schemes apps/commands.c apps/commands.h contain the commands available for key binding. These files have been created manually. In fact they should be generated during the build process similar to the lang files. apps/recorder/splitedit.h apps/recorder/splitedit.c A gui for a split editor (without the acutal file splitting, yet) apps/recorder/screen.h apps/recorder/screen.c A more generic version of the screens. They contain only the engine and the actual F2 / F3 screens are initialized from apps/screens.c .rockbox/default.txt An example file with the default key scheme. You must have that on your recorder because I haven't implemented a compiled in default key scheme. key_schemes.diff a diff file that patches the current cvs version (14.10.02) so that all necessary features of the key schemes are applied. Apart from minor changes it includes: - patching tree.c so that its functions can be used with key schemes. It actualy is a fake that demonstrates how we could quickly move towards key schemes without having to rewrite much code at once and still have key schemes. - patching settings.c so that many settings can be bound. - patching screens.c so that it uses the new generic apps/screen.c - patching peakmeter because the split editor relies on some of its new functionality Have fun and let's discuss this approach. Sorry again for uploading this monster. Phil Received on 2002-10-14 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |