Index: apps/plugins/rockpaint.c
===================================================================
RCS file: /cvsroot/rockbox/apps/plugins/rockpaint.c,v
retrieving revision 1.7
diff -u -r1.7 rockpaint.c
--- apps/plugins/rockpaint.c	9 Aug 2006 13:25:43 -0000	1.7
+++ apps/plugins/rockpaint.c	13 Aug 2006 19:56:58 -0000
@@ -30,6 +30,8 @@
 #include "errno.h"
 #include "lib/bmp.h"
 #include "lib/rgb_hsv.h"
+#include "playback_control.h"
+
 
 PLUGIN_HEADER
 
@@ -434,6 +436,7 @@
         MAIN_MENU_NEW, MAIN_MENU_LOAD, MAIN_MENU_SAVE,
         MAIN_MENU_BRUSH_SIZE, MAIN_MENU_BRUSH_SPEED, MAIN_MENU_COLOR,
         MAIN_MENU_GRID_SIZE,
+        MAIN_MENU_PLAYBACK,
         MAIN_MENU_EXIT,
         /* Select action menu */
         SELECT_MENU_CUT, SELECT_MENU_COPY, SELECT_MENU_INVERT,
@@ -453,6 +456,7 @@
       { MAIN_MENU_BRUSH_SPEED, "Brush Speed" },
       { MAIN_MENU_COLOR, "Choose Color" },
       { MAIN_MENU_GRID_SIZE, "Grid Size" },
+      { MAIN_MENU_PLAYBACK, "Playback Menu" },
       { MAIN_MENU_EXIT, "Exit" },
       { MENU_END, "" } };
 
@@ -2414,8 +2418,13 @@
                 break;
 
             case MAIN_MENU_SAVE:
+                if (!filename[0])
+                    rb->strcpy(filename,"/");
                 if( !rb->kbd_input( filename, MAX_PATH ) )
                 {
+                    if(rb->strlen(filename) <= 4 ||
+                    rb->strcasecmp(&filename[rb->strlen(filename)-4], ".bmp"))
+                        rb->strcat(filename, ".bmp");
                     save_bitmap( filename );
                     rb->splash( 1*HZ, true, "File saved (%s)", filename );
                 }
@@ -2443,6 +2452,10 @@
                     gridsize = multi;
                 break;
 
+            case MAIN_MENU_PLAYBACK:
+                playback_control(rb);
+                break;
+
             case MAIN_MENU_EXIT:
                 quit=true;
                 return;
Index: apps/plugins/text_editor.c
===================================================================
RCS file: /cvsroot/rockbox/apps/plugins/text_editor.c,v
retrieving revision 1.8
diff -u -r1.8 text_editor.c
--- apps/plugins/text_editor.c	3 Aug 2006 20:17:20 -0000	1.8
+++ apps/plugins/text_editor.c	13 Aug 2006 19:56:58 -0000
@@ -17,6 +17,8 @@
  *
  ****************************************************************************/
 #include "plugin.h"
+#include "playback_control.h"
+
 /* button definitions, every keypad must only have select,menu and cancel */
 #if CONFIG_KEYPAD == RECORDER_PAD
 #define TEXT_EDITOR_SELECT BUTTON_PLAY
@@ -221,6 +223,9 @@
     {
         rb->strcpy(filename,"/");
         rb->kbd_input(filename,MAX_PATH);
+        if(rb->strlen(filename) <= 4 ||
+            rb->strcasecmp(&filename[rb->strlen(filename)-4], ".txt"))
+                rb->strcat(filename, ".txt");
     }
 
     fd = rb->open(filename,O_WRONLY|O_CREAT);
@@ -479,6 +484,7 @@
 
                     static const struct menu_item items[] = {
                             { "Return", NULL },
+                            {"Show Playback Menu", NULL },
                             { " ", NULL },
                             { "Save Changes", NULL },
                             { "Save As...", NULL },
@@ -496,20 +502,23 @@
                     {
                         case 0:
                         break;
-                        case 2: //save to disk
+                        case 1: /* playback control */
+                            playback_control(rb);
+                        break;
+                        case 3: //save to disk
                             save_changes(1);
                             changed = 0;
                         break;
-                        case 3:
+                        case 4:
                             save_changes(0);
                             changed = 0;
                         break;
 
-                        case 5:
+                        case 6:
                             save_changes(1);
                             exit=1;
                         break;
-                        case 6:
+                        case 7:
                             exit=1;
                         break;
                     }
