Compare commits

...

3 commits

Author SHA1 Message Date
Christian Soffke
4698be4a17 plugins: flipit: remove 4s delay on devices without instruction
Change-Id: Iab0e54ca20de5318bf3d74e8571d0e6e209e3430
2025-12-20 13:57:03 +01:00
neofright
8cc372c4e4 Add line break to fprintf in database.c
Before:
Scanning files (may take some time)...Read metadata for /Music/foo/bar/baz.ogg

  After:
Scanning files (may take some time)...
Read metadata for /Music/foo/bar/baz.ogg

Change-Id: Id3816104779fd80930cd213bab29765bdd3db451
2025-12-20 02:47:08 -05:00
Roman Artiukhin
c594b58af2 imageviewer: jpegp: Fix downscaled image rendering
Fixed rendering issue when dimension is not divisible by downscale factor

Fixes FS#13719

Change-Id: I3b4ad035d5cce57acd3dc8a8e846bb5303598c8d
2025-12-19 13:35:52 +02:00
3 changed files with 15 additions and 20 deletions

View file

@ -850,9 +850,8 @@ enum plugin_status plugin_start(const void* parameter)
rb->lcd_set_backdrop(NULL);
#endif
rb->splash(HZ, "FlipIt!");
/* print instructions */
bool print_instructions = true;
rb->lcd_clear_display();
rb->lcd_setfont(FONT_SYSFIXED);
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
@ -920,21 +919,22 @@ enum plugin_status plugin_start(const void* parameter)
rb->lcd_putsxy(2, 28, "[REW] shuffle");
rb->lcd_putsxy(2, 38, "Long [FFWD] solution");
rb->lcd_putsxy(2, 48, "[FFWD] step by step");
#endif
#ifdef HAVE_TOUCHSCREEN
#elif defined(HAVE_TOUCHSCREEN)
rb->lcd_putsxy(2, 8, "[BOTTOMLEFT] to stop");
rb->lcd_putsxy(2, 18, "[CENTRE] toggle");
rb->lcd_putsxy(2, 28, "[TOPRIGHT] shuffle");
rb->lcd_putsxy(2, 38, "[BOTTOMLEFT] solution");
rb->lcd_putsxy(2, 48, "[BOTTOMRIGHT] step by step");
#else
print_instructions = false;
#endif
rb->lcd_update();
rb->button_get_w_tmo(HZ*3);
rb->lcd_clear_display();
if (print_instructions)
{
rb->lcd_update();
rb->button_get_w_tmo(HZ*3);
rb->lcd_clear_display();
}
draw_info_panel();
for (i=0; i<20; i++) {
spots[i]=1;

View file

@ -217,23 +217,18 @@ static int get_image(struct image_info *info, int frame, int ds)
int v2 = j->Vmax / j->Components[2].Vi;
int x, y;
for (y = 0; y < j->Y; y++)
int max_y = info->height * ds;
int max_x = info->width * ds;
for (y = 0; y < max_y; y += ds)
{
if (y%ds != 0)
continue;
TCOEF *C0 =
j->Components[0].du[j->Components[0].du_width * ((y / v0) / 8)] + 8 * ((y / v0) & 7);
TCOEF *C1 =
j->Components[1].du[j->Components[1].du_width * ((y / v1) / 8)] + 8 * ((y / v1) & 7);
TCOEF *C2 =
j->Components[2].du[j->Components[2].du_width * ((y / v2) / 8)] + 8 * ((y / v2) & 7);
for (x = 0; x < j->X; x++)
for (x = 0; x < max_x; x += ds)
{
if (x%ds != 0)
continue;
TCOEF c0 = C0[(x / h0 / 8) * 64 + ((x / h0) & 7)];
TCOEF c1 = C1[(x / h1 / 8) * 64 + ((x / h1) & 7)];
TCOEF c2 = C2[(x / h2 / 8) * 64 + ((x / h2) & 7)];

View file

@ -34,7 +34,7 @@ int main(int argc, char **argv)
const char *paths[] = { "/", NULL };
tagcache_init();
fprintf(stderr, "Scanning files (may take some time)...");
fprintf(stderr, "Scanning files (may take some time)...\n");
do_tagcache_build(paths);
tagcache_reverse_scan();