forked from len0rd/rockbox
Patch #1272052 by Henrik Backe - Move credits to a plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7450 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
58e9412bff
commit
60895bc107
15 changed files with 140 additions and 155 deletions
|
@ -152,15 +152,6 @@ $(BUILDDIR)/rombox.ucl: $(OBJDIR)/rombox.bin $(MAXOUTFILE)
|
||||||
echo "fake" > $@; \
|
echo "fake" > $@; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$(OBJDIR)/credits.raw: $(DOCSDIR)/CREDITS
|
|
||||||
@echo "create credits.raw"
|
|
||||||
@perl credits.pl < $< > $@
|
|
||||||
|
|
||||||
$(OBJDIR)/credits.o: credits.c credits.h $(OBJDIR)/credits.raw
|
|
||||||
@mkdir -p `dirname $@`
|
|
||||||
@echo "CC $<"
|
|
||||||
@$(CC) $(CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
include $(TOOLSDIR)/make.inc
|
include $(TOOLSDIR)/make.inc
|
||||||
|
|
||||||
$(OBJDIR)/build.lang: lang/$(LANGUAGE).lang $(TOOLSDIR)/uplang
|
$(OBJDIR)/build.lang: lang/$(LANGUAGE).lang $(TOOLSDIR)/uplang
|
||||||
|
@ -180,7 +171,7 @@ clean:
|
||||||
@-rm -f $(OBJS) $(BUILDDIR)/$(BINARY) $(OBJDIR)/rockbox.asm \
|
@-rm -f $(OBJS) $(BUILDDIR)/$(BINARY) $(OBJDIR)/rockbox.asm \
|
||||||
$(OBJDIR)/rockbox.bin $(OBJDIR)/rockbox.elf $(OBJDIR)/*.map \
|
$(OBJDIR)/rockbox.bin $(OBJDIR)/rockbox.elf $(OBJDIR)/*.map \
|
||||||
$(OBJDIR)/lang.o $(OBJDIR)/build.lang $(BUILDDIR)/lang.[ch] \
|
$(OBJDIR)/lang.o $(OBJDIR)/build.lang $(BUILDDIR)/lang.[ch] \
|
||||||
$(OBJDIR)/credits.raw $(LINKFILE) $(BUILDDIR)/rockbox.ucl $(LINKROM) \
|
$(LINKFILE) $(BUILDDIR)/rockbox.ucl $(LINKROM) \
|
||||||
$(BUILDDIR)/rombox.ucl $(OBJDIR)/rombox.bin $(OBJDIR)/rombox.elf \
|
$(BUILDDIR)/rombox.ucl $(OBJDIR)/rombox.bin $(OBJDIR)/rombox.elf \
|
||||||
$(MAXOUTFILE) $(DEPFILE)
|
$(MAXOUTFILE) $(DEPFILE)
|
||||||
@$(MAKE) -C plugins clean OBJDIR=$(OBJDIR)/plugins
|
@$(MAKE) -C plugins clean OBJDIR=$(OBJDIR)/plugins
|
||||||
|
|
|
@ -4,7 +4,6 @@ logfdisp.c
|
||||||
alarm_menu.c
|
alarm_menu.c
|
||||||
abrepeat.c
|
abrepeat.c
|
||||||
bookmark.c
|
bookmark.c
|
||||||
credits.c
|
|
||||||
debug_menu.c
|
debug_menu.c
|
||||||
filetypes.c
|
filetypes.c
|
||||||
language.c
|
language.c
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
/***************************************************************************
|
|
||||||
* __________ __ ___.
|
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
||||||
* \/ \/ \/ \/ \/
|
|
||||||
* $Id$
|
|
||||||
*
|
|
||||||
* Copyright (C) 2002 by Robert Hak <rhak at ramapo.edu>
|
|
||||||
*
|
|
||||||
* All files in this archive are subject to the GNU General Public License.
|
|
||||||
* See the file COPYING in the source tree root for full license agreement.
|
|
||||||
*
|
|
||||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
* KIND, either express or implied.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef __ROCKBOX_CREDITS_H__
|
|
||||||
#define __ROCKBOX_CREDITS_H__
|
|
||||||
|
|
||||||
/* Show who worked on the project */
|
|
||||||
void roll_credits(void);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#endif
|
#endif
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "mp3_playback.h"
|
#include "mp3_playback.h"
|
||||||
#include "main_menu.h"
|
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
|
|
|
@ -22,13 +22,11 @@
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "tree.h"
|
#include "tree.h"
|
||||||
#include "credits.h"
|
|
||||||
#include "lcd.h"
|
#include "lcd.h"
|
||||||
#include "font.h"
|
#include "font.h"
|
||||||
#include "button.h"
|
#include "button.h"
|
||||||
#include "kernel.h"
|
#include "kernel.h"
|
||||||
#include "main_menu.h"
|
#include "main_menu.h"
|
||||||
#include "version.h"
|
|
||||||
#include "debug_menu.h"
|
#include "debug_menu.h"
|
||||||
#include "sprintf.h"
|
#include "sprintf.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -50,83 +48,20 @@
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "logfdisp.h"
|
#include "logfdisp.h"
|
||||||
|
#include "plugin.h"
|
||||||
|
#include "filetypes.h"
|
||||||
|
|
||||||
#ifdef HAVE_RECORDING
|
#ifdef HAVE_RECORDING
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
|
||||||
#include "bmp.h"
|
|
||||||
#include "icons.h"
|
|
||||||
#endif /* End HAVE_LCD_BITMAP */
|
|
||||||
|
|
||||||
#ifdef HAVE_REMOTE_LCD
|
#ifdef HAVE_REMOTE_LCD
|
||||||
#include "lcd-remote.h"
|
#include "lcd-remote.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int show_logo( void )
|
|
||||||
{
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
|
||||||
char version[32];
|
|
||||||
int font_h, font_w;
|
|
||||||
|
|
||||||
lcd_clear_display();
|
|
||||||
#if LCD_WIDTH == 112 || LCD_WIDTH == 128
|
|
||||||
lcd_bitmap(rockbox112x37, 0, 10, 112, 37);
|
|
||||||
#endif
|
|
||||||
#if LCD_WIDTH >= 160
|
|
||||||
lcd_bitmap(rockbox160x53x2, 0, 10, 160, 53);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_REMOTE_LCD
|
|
||||||
lcd_remote_clear_display();
|
|
||||||
lcd_remote_bitmap(rockbox112x37,10,14,112,37);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
snprintf(version, sizeof(version), "Ver. %s", appsversion);
|
|
||||||
lcd_setfont(FONT_SYSFIXED);
|
|
||||||
lcd_getstringsize("A", &font_w, &font_h);
|
|
||||||
lcd_putsxy((LCD_WIDTH/2) - ((strlen(version)*font_w)/2),
|
|
||||||
LCD_HEIGHT-font_h, version);
|
|
||||||
lcd_update();
|
|
||||||
|
|
||||||
#ifdef HAVE_REMOTE_LCD
|
|
||||||
lcd_remote_setfont(FONT_SYSFIXED);
|
|
||||||
lcd_remote_getstringsize("A", &font_w, &font_h);
|
|
||||||
lcd_remote_putsxy((LCD_REMOTE_WIDTH/2) - ((strlen(version)*font_w)/2),
|
|
||||||
LCD_REMOTE_HEIGHT-font_h, version);
|
|
||||||
lcd_remote_update();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
char *rockbox = " ROCKbox!";
|
|
||||||
lcd_clear_display();
|
|
||||||
lcd_double_height(true);
|
|
||||||
lcd_puts(0, 0, rockbox);
|
|
||||||
lcd_puts(0, 1, appsversion);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool show_credits(void)
|
bool show_credits(void)
|
||||||
{
|
{
|
||||||
int j = 0;
|
plugin_load("/.rockbox/rocks/credits.rock",NULL);
|
||||||
int btn;
|
|
||||||
|
|
||||||
show_logo();
|
|
||||||
#ifdef HAVE_LCD_CHARCELLS
|
|
||||||
lcd_double_height(false);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
for (j = 0; j < 10; j++) {
|
|
||||||
sleep((HZ*2)/10);
|
|
||||||
|
|
||||||
btn = button_get(false);
|
|
||||||
if (btn != BUTTON_NONE && !(btn & BUTTON_REL))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
roll_credits();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
|
|
||||||
extern int show_logo(void);
|
|
||||||
extern bool main_menu(void);
|
extern bool main_menu(void);
|
||||||
extern bool rec_menu(void);
|
extern bool rec_menu(void);
|
||||||
|
|
||||||
|
|
53
apps/misc.c
53
apps/misc.c
|
@ -24,6 +24,7 @@
|
||||||
#include "file.h"
|
#include "file.h"
|
||||||
#include "dir.h"
|
#include "dir.h"
|
||||||
#include "lcd.h"
|
#include "lcd.h"
|
||||||
|
#include "lcd-remote.h"
|
||||||
#include "sprintf.h"
|
#include "sprintf.h"
|
||||||
#include "errno.h"
|
#include "errno.h"
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
@ -40,10 +41,17 @@
|
||||||
#include "powermgmt.h"
|
#include "powermgmt.h"
|
||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
#include "atoi.h"
|
#include "atoi.h"
|
||||||
|
#include "version.h"
|
||||||
|
#include "font.h"
|
||||||
#ifdef HAVE_MMC
|
#ifdef HAVE_MMC
|
||||||
#include "ata_mmc.h"
|
#include "ata_mmc.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
#include "bmp.h"
|
||||||
|
#include "icons.h"
|
||||||
|
#endif /* End HAVE_LCD_BITMAP */
|
||||||
|
|
||||||
/* Format a large-range value for output, using the appropriate unit so that
|
/* Format a large-range value for output, using the appropriate unit so that
|
||||||
* the displayed value is in the range 1 <= display < 1000 (1024 for "binary"
|
* the displayed value is in the range 1 <= display < 1000 (1024 for "binary"
|
||||||
* units) if possible, and 3 significant digits are shown. If a buffer is
|
* units) if possible, and 3 significant digits are shown. If a buffer is
|
||||||
|
@ -482,3 +490,48 @@ long default_event_handler(long event)
|
||||||
{
|
{
|
||||||
return default_event_handler_ex(event, NULL, NULL);
|
return default_event_handler_ex(event, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int show_logo( void )
|
||||||
|
{
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
char version[32];
|
||||||
|
int font_h, font_w;
|
||||||
|
|
||||||
|
lcd_clear_display();
|
||||||
|
#if LCD_WIDTH == 112 || LCD_WIDTH == 128
|
||||||
|
lcd_bitmap(rockbox112x37, 0, 10, 112, 37);
|
||||||
|
#endif
|
||||||
|
#if LCD_WIDTH >= 160
|
||||||
|
lcd_bitmap(rockbox160x53x2, 0, 10, 160, 53);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
lcd_remote_clear_display();
|
||||||
|
lcd_remote_bitmap(rockbox112x37,10,14,112,37);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
snprintf(version, sizeof(version), "Ver. %s", appsversion);
|
||||||
|
lcd_setfont(FONT_SYSFIXED);
|
||||||
|
lcd_getstringsize("A", &font_w, &font_h);
|
||||||
|
lcd_putsxy((LCD_WIDTH/2) - ((strlen(version)*font_w)/2),
|
||||||
|
LCD_HEIGHT-font_h, version);
|
||||||
|
lcd_update();
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
lcd_remote_setfont(FONT_SYSFIXED);
|
||||||
|
lcd_remote_getstringsize("A", &font_w, &font_h);
|
||||||
|
lcd_remote_putsxy((LCD_REMOTE_WIDTH/2) - ((strlen(version)*font_w)/2),
|
||||||
|
LCD_REMOTE_HEIGHT-font_h, version);
|
||||||
|
lcd_remote_update();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
char *rockbox = " ROCKbox!";
|
||||||
|
lcd_clear_display();
|
||||||
|
lcd_double_height(true);
|
||||||
|
lcd_puts(0, 0, rockbox);
|
||||||
|
lcd_puts(0, 1, appsversion);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -52,5 +52,6 @@ bool settings_parseline(char* line, char** name, char** value);
|
||||||
long default_event_handler_ex(long event, void (*callback)(void *), void *parameter);
|
long default_event_handler_ex(long event, void (*callback)(void *), void *parameter);
|
||||||
long default_event_handler(long event);
|
long default_event_handler(long event);
|
||||||
void car_adapter_mode_init(void);
|
void car_adapter_mode_init(void);
|
||||||
|
extern int show_logo(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -98,6 +98,7 @@ static const struct plugin_api rockbox_api = {
|
||||||
lcd_put_cursor,
|
lcd_put_cursor,
|
||||||
lcd_remove_cursor,
|
lcd_remove_cursor,
|
||||||
PREFIX(lcd_icon),
|
PREFIX(lcd_icon),
|
||||||
|
lcd_double_height,
|
||||||
#else
|
#else
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
lcd_roll,
|
lcd_roll,
|
||||||
|
@ -336,10 +337,10 @@ static const struct plugin_api rockbox_api = {
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
read_bmp_file,
|
read_bmp_file,
|
||||||
#endif
|
#endif
|
||||||
|
show_logo,
|
||||||
|
|
||||||
/* new stuff at the end, sort into place next time
|
/* new stuff at the end, sort into place next time
|
||||||
the API gets incompatible */
|
the API gets incompatible */
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int plugin_load(const char* plugin, void* parameter)
|
int plugin_load(const char* plugin, void* parameter)
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#include "mpeg.h"
|
#include "mpeg.h"
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "mp3_playback.h"
|
#include "mp3_playback.h"
|
||||||
|
#include "misc.h"
|
||||||
#if (HWCODEC == SWCODEC)
|
#if (HWCODEC == SWCODEC)
|
||||||
#include "pcm_playback.h"
|
#include "pcm_playback.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -88,12 +89,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* increase this every time the api struct changes */
|
/* increase this every time the api struct changes */
|
||||||
#define PLUGIN_API_VERSION 49
|
#define PLUGIN_API_VERSION 50
|
||||||
|
|
||||||
/* update this to latest version if a change to the api struct breaks
|
/* update this to latest version if a change to the api struct breaks
|
||||||
backwards compatibility (and please take the opportunity to sort in any
|
backwards compatibility (and please take the opportunity to sort in any
|
||||||
new function which are "waiting" at the end of the function table) */
|
new function which are "waiting" at the end of the function table) */
|
||||||
#define PLUGIN_MIN_API_VERSION 49
|
#define PLUGIN_MIN_API_VERSION 50
|
||||||
|
|
||||||
/* plugin return codes */
|
/* plugin return codes */
|
||||||
enum plugin_status {
|
enum plugin_status {
|
||||||
|
@ -151,6 +152,7 @@ struct plugin_api {
|
||||||
void (*lcd_put_cursor)(int x, int y, char cursor_char);
|
void (*lcd_put_cursor)(int x, int y, char cursor_char);
|
||||||
void (*lcd_remove_cursor)(void);
|
void (*lcd_remove_cursor)(void);
|
||||||
void (*PREFIX(lcd_icon))(int icon, bool enable);
|
void (*PREFIX(lcd_icon))(int icon, bool enable);
|
||||||
|
void (*lcd_double_height)(bool on);
|
||||||
#else
|
#else
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
void (*lcd_roll)(int pixels);
|
void (*lcd_roll)(int pixels);
|
||||||
|
@ -420,6 +422,7 @@ struct plugin_api {
|
||||||
int (*read_bmp_file)(char* filename, int *get_width, int *get_height,
|
int (*read_bmp_file)(char* filename, int *get_width, int *get_height,
|
||||||
char *bitmap, int maxsize);
|
char *bitmap, int maxsize);
|
||||||
#endif
|
#endif
|
||||||
|
int (*show_logo)(void);
|
||||||
|
|
||||||
/* new stuff at the end, sort into place next time
|
/* new stuff at the end, sort into place next time
|
||||||
the API gets incompatible */
|
the API gets incompatible */
|
||||||
|
|
|
@ -50,6 +50,15 @@ endif
|
||||||
.PHONY: $(SUBDIRS)
|
.PHONY: $(SUBDIRS)
|
||||||
all: $(BUILDDIR)/libplugin.a $(ROCKS) $(SUBDIRS) $(DEPFILE)
|
all: $(BUILDDIR)/libplugin.a $(ROCKS) $(SUBDIRS) $(DEPFILE)
|
||||||
|
|
||||||
|
$(BUILDDIR)/credits.raw: $(DOCSDIR)/CREDITS
|
||||||
|
@echo "create credits.raw"
|
||||||
|
@perl credits.pl < $< > $@
|
||||||
|
|
||||||
|
$(OBJDIR)/credits.o: credits.c $(BUILDDIR)/credits.raw
|
||||||
|
@mkdir -p `dirname $@`
|
||||||
|
@echo "CC $<"
|
||||||
|
@$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
ifndef SIMVER
|
ifndef SIMVER
|
||||||
$(OBJDIR)/%.elf: $(OBJDIR)/%.o $(LINKFILE) $(BUILDDIR)/libplugin.a
|
$(OBJDIR)/%.elf: $(OBJDIR)/%.o $(LINKFILE) $(BUILDDIR)/libplugin.a
|
||||||
$(SILENT)(file=`basename $@`; \
|
$(SILENT)(file=`basename $@`; \
|
||||||
|
@ -117,7 +126,7 @@ $(SUBDIRS):
|
||||||
clean:
|
clean:
|
||||||
@echo "cleaning plugins"
|
@echo "cleaning plugins"
|
||||||
@rm -f $(ROCKS) $(LINKFILE) $(OBJDIR)/*.rock $(DEPFILE) $(ELFS) \
|
@rm -f $(ROCKS) $(LINKFILE) $(OBJDIR)/*.rock $(DEPFILE) $(ELFS) \
|
||||||
$(OBJS) $(DEFS)
|
$(BUILDDIR)/credits.raw $(OBJS) $(DEFS)
|
||||||
@$(MAKE) -C lib clean OBJDIR=$(OBJDIR)/lib
|
@$(MAKE) -C lib clean OBJDIR=$(OBJDIR)/lib
|
||||||
@$(MAKE) -C rockboy clean OBJDIR=$(OBJDIR)/rockboy
|
@$(MAKE) -C rockboy clean OBJDIR=$(OBJDIR)/rockboy
|
||||||
@$(MAKE) -C searchengine clean OBJDIR=$(OBJDIR)/searchengine
|
@$(MAKE) -C searchengine clean OBJDIR=$(OBJDIR)/searchengine
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/* plugins common to all models */
|
/* plugins common to all models */
|
||||||
battery_test.c
|
battery_test.c
|
||||||
chessclock.c
|
chessclock.c
|
||||||
|
credits.c
|
||||||
cube.c
|
cube.c
|
||||||
favorites.c
|
favorites.c
|
||||||
firmware_flash.c
|
firmware_flash.c
|
||||||
|
|
|
@ -91,7 +91,7 @@ Original release, featuring analog / digital modes and a few options.
|
||||||
/************
|
/************
|
||||||
* Prototypes
|
* Prototypes
|
||||||
***********/
|
***********/
|
||||||
void show_logo(bool animate, bool show_clock_text);
|
void show_clock_logo(bool animate, bool show_clock_text);
|
||||||
void exit_logo(void);
|
void exit_logo(void);
|
||||||
void save_settings(bool interface);
|
void save_settings(bool interface);
|
||||||
|
|
||||||
|
@ -461,7 +461,7 @@ void save_settings(bool interface)
|
||||||
rb->snprintf(buf, sizeof(buf), "Saving Settings");
|
rb->snprintf(buf, sizeof(buf), "Saving Settings");
|
||||||
rb->lcd_getstringsize(buf, &buf_w, &buf_h);
|
rb->lcd_getstringsize(buf, &buf_w, &buf_h);
|
||||||
rb->lcd_putsxy(LCD_WIDTH/2-buf_w/2, 56, buf);
|
rb->lcd_putsxy(LCD_WIDTH/2-buf_w/2, 56, buf);
|
||||||
show_logo(true, true);
|
show_clock_logo(true, true);
|
||||||
|
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
}
|
}
|
||||||
|
@ -523,7 +523,7 @@ void load_settings(void)
|
||||||
rb->snprintf(buf, sizeof(buf), "Loading Settings");
|
rb->snprintf(buf, sizeof(buf), "Loading Settings");
|
||||||
rb->lcd_getstringsize(buf, &buf_w, &buf_h);
|
rb->lcd_getstringsize(buf, &buf_w, &buf_h);
|
||||||
rb->lcd_putsxy(LCD_WIDTH/2-buf_w/2, 56, buf);
|
rb->lcd_putsxy(LCD_WIDTH/2-buf_w/2, 56, buf);
|
||||||
show_logo(true, true);
|
show_clock_logo(true, true);
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
|
|
||||||
if(fd >= 0) /* does file exist? */
|
if(fd >= 0) /* does file exist? */
|
||||||
|
@ -1020,7 +1020,7 @@ void binary(int hour, int minute, int second)
|
||||||
/****************
|
/****************
|
||||||
* Shows the logo
|
* Shows the logo
|
||||||
***************/
|
***************/
|
||||||
void show_logo(bool animate, bool show_clock_text)
|
void show_clock_logo(bool animate, bool show_clock_text)
|
||||||
{
|
{
|
||||||
int y_position;
|
int y_position;
|
||||||
|
|
||||||
|
@ -1151,7 +1151,7 @@ bool roll_credits(void)
|
||||||
{
|
{
|
||||||
rb->lcd_clear_display();
|
rb->lcd_clear_display();
|
||||||
|
|
||||||
show_logo(false, false);
|
show_clock_logo(false, false);
|
||||||
|
|
||||||
rb->snprintf(elapsednames, sizeof(elapsednames), "[Credits] %02d/%02d", j+1, numnames);
|
rb->snprintf(elapsednames, sizeof(elapsednames), "[Credits] %02d/%02d", j+1, numnames);
|
||||||
rb->lcd_putsxy(credits_pos-1, 0, elapsednames);
|
rb->lcd_putsxy(credits_pos-1, 0, elapsednames);
|
||||||
|
@ -1299,7 +1299,7 @@ bool show_credits(void)
|
||||||
rb->lcd_putsxy(LCD_WIDTH/2-buf_w/2, 56, buf);
|
rb->lcd_putsxy(LCD_WIDTH/2-buf_w/2, 56, buf);
|
||||||
|
|
||||||
/* show the logo with an animation and the clock version text */
|
/* show the logo with an animation and the clock version text */
|
||||||
show_logo(true, true);
|
show_clock_logo(true, true);
|
||||||
|
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* __________ __ ___.
|
* __________ __ ___.
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
* \/ \/ \/ \/ \/
|
* \/ \/ \/ \/ \/
|
||||||
* $Id$
|
* $Id$
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002 by Robert Hak <rhak at ramapo.edu>
|
* Copyright (C) 2002 by Robert Hak <rhak at ramapo.edu>
|
||||||
|
@ -16,33 +16,55 @@
|
||||||
* KIND, either express or implied.
|
* KIND, either express or implied.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
#include "plugin.h"
|
||||||
|
|
||||||
#include "credits.h"
|
void roll_credits(void);
|
||||||
#include "lcd.h"
|
|
||||||
#include "font.h"
|
|
||||||
#include "kernel.h"
|
|
||||||
#include "button.h"
|
|
||||||
#include "sprintf.h"
|
|
||||||
#include "string.h"
|
|
||||||
|
|
||||||
const char* const credits[] = {
|
const char* const credits[] = {
|
||||||
#include "credits.raw" /* generated list of names from docs/CREDITS */
|
#include "credits.raw" /* generated list of names from docs/CREDITS */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct plugin_api* rb;
|
||||||
|
|
||||||
|
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
||||||
|
{
|
||||||
|
int j = 0;
|
||||||
|
int btn;
|
||||||
|
|
||||||
|
TEST_PLUGIN_API(api);
|
||||||
|
(void)parameter;
|
||||||
|
rb = api;
|
||||||
|
|
||||||
|
rb->show_logo();
|
||||||
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
|
rb->lcd_double_height(false);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (j = 0; j < 10; j++) {
|
||||||
|
rb->sleep((HZ*2)/10);
|
||||||
|
|
||||||
|
btn = rb->button_get(false);
|
||||||
|
if (btn != BUTTON_NONE && !(btn & BUTTON_REL))
|
||||||
|
return PLUGIN_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
roll_credits();
|
||||||
|
|
||||||
|
return PLUGIN_OK;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_LCD_CHARCELLS
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
#define MAX(x, y) ((x) > (y) ? (x) : (y))
|
|
||||||
void roll_credits(void)
|
void roll_credits(void)
|
||||||
{
|
{
|
||||||
int numnames = sizeof(credits)/sizeof(char*);
|
int numnames = sizeof(credits)/sizeof(char*);
|
||||||
int curr_name = 0;
|
int curr_name = 0;
|
||||||
int curr_len = strlen(credits[0]);
|
int curr_len = rb->strlen(credits[0]);
|
||||||
int curr_index = 0;
|
int curr_index = 0;
|
||||||
int curr_line = 0;
|
int curr_line = 0;
|
||||||
int name, len, new_len, line, x;
|
int name, len, new_len, line, x;
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
lcd_clear_display();
|
rb->lcd_clear_display();
|
||||||
|
|
||||||
name = curr_name;
|
name = curr_name;
|
||||||
x = -curr_index;
|
x = -curr_index;
|
||||||
|
@ -54,31 +76,31 @@ void roll_credits(void)
|
||||||
int x2;
|
int x2;
|
||||||
|
|
||||||
if (x < 0)
|
if (x < 0)
|
||||||
lcd_puts(0, line, credits[name] - x);
|
rb->lcd_puts(0, line, credits[name] - x);
|
||||||
else
|
else
|
||||||
lcd_puts(x, line, credits[name]);
|
rb->lcd_puts(x, line, credits[name]);
|
||||||
|
|
||||||
if (++name >= numnames)
|
if (++name >= numnames)
|
||||||
break;
|
break;
|
||||||
line ^= 1;
|
line ^= 1;
|
||||||
|
|
||||||
x2 = x + len/2;
|
x2 = x + len/2;
|
||||||
if ((unsigned)x2 < 11)
|
if ((unsigned)x2 < 11)
|
||||||
lcd_putc(x2, line, '*');
|
rb->lcd_putc(x2, line, '*');
|
||||||
|
|
||||||
new_len = strlen(credits[name]);
|
new_len = rb->strlen(credits[name]);
|
||||||
x += MAX(len/2 + 2, len - new_len/2 + 1);
|
x += MAX(len/2 + 2, len - new_len/2 + 1);
|
||||||
len = new_len;
|
len = new_len;
|
||||||
}
|
}
|
||||||
/* abort on keypress */
|
/* abort on keypress */
|
||||||
if (button_get_w_tmo(HZ/8) & BUTTON_REL)
|
if (rb->button_get_w_tmo(HZ/8) & BUTTON_REL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (++curr_index >= curr_len)
|
if (++curr_index >= curr_len)
|
||||||
{
|
{
|
||||||
if (++curr_name >= numnames)
|
if (++curr_name >= numnames)
|
||||||
break;
|
break;
|
||||||
new_len = strlen(credits[curr_name]);
|
new_len = rb->strlen(credits[curr_name]);
|
||||||
curr_index -= MAX(curr_len/2 + 2, curr_len - new_len/2 + 1);
|
curr_index -= MAX(curr_len/2 + 2, curr_len - new_len/2 + 1);
|
||||||
curr_len = new_len;
|
curr_len = new_len;
|
||||||
curr_line ^= 1;
|
curr_line ^= 1;
|
||||||
|
@ -98,24 +120,24 @@ void roll_credits(void)
|
||||||
|
|
||||||
int height;
|
int height;
|
||||||
int width;
|
int width;
|
||||||
|
|
||||||
lcd_setfont(FONT_UI);
|
|
||||||
|
|
||||||
lcd_getstringsize("A", &width, &height);
|
rb->lcd_setfont(FONT_UI);
|
||||||
|
|
||||||
|
rb->lcd_getstringsize("A", &width, &height);
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
lcd_clear_display();
|
rb->lcd_clear_display();
|
||||||
for ( i=0; i <= (LCD_HEIGHT-y)/height; i++ )
|
for ( i=0; i <= (LCD_HEIGHT-y)/height; i++ )
|
||||||
lcd_putsxy(0, i*height+y, line+i<numnames?credits[line+i]:"");
|
rb->lcd_putsxy(0, i*height+y, line+i<numnames?credits[line+i]:"");
|
||||||
snprintf(buffer, sizeof(buffer), " [Credits] %2d/%2d ",
|
rb->snprintf(buffer, sizeof(buffer), " [Credits] %2d/%2d ",
|
||||||
line+1, numnames);
|
line+1, numnames);
|
||||||
lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
|
rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
|
||||||
lcd_fillrect(0, 0, LCD_WIDTH, height);
|
rb->lcd_fillrect(0, 0, LCD_WIDTH, height);
|
||||||
lcd_set_drawmode(DRMODE_SOLID);
|
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||||
lcd_putsxy(0, 0, buffer);
|
rb->lcd_putsxy(0, 0, buffer);
|
||||||
lcd_update();
|
rb->lcd_update();
|
||||||
|
|
||||||
if (button_get_w_tmo(HZ/20) & BUTTON_REL)
|
if (rb->button_get_w_tmo(HZ/20) & BUTTON_REL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
y--;
|
y--;
|
Loading…
Add table
Add a link
Reference in a new issue