Commit graph

35757 commits

Author SHA1 Message Date
William Wilgus
a8253c57dd lib/argparse fix red
Change-Id: I7bbac6de6319bf86189f079b7330d650ea95de3c
2021-08-31 17:23:47 -04:00
William Wilgus
c04a944c98 lib/argparse scale decimals to int for return to user
scales the fractional portion of the parsed number
by ARGPARSE_FRAC_DEC_MULTIPLIER

   Example ARGPARSE_FRAC_DEC_MULTIPLIER = 10 000
   meaning .0009 returns 9   , 9    / 10000 = .0009
           .009  returns 90
           .099  returns 990
           .09   returns 900
           .9    returns 9000
           .9999 returns 9999

Change-Id: I38573dbc1877760b0d52df8686a6647894d76196
2021-08-31 21:05:36 +00:00
Dana Conrad
d929444a41 iPod: Fix Yes/No Keymap
Add fallback to CONTEXT_STD and add explicit Play button cancel -
Play button is not present in standard context, so it won't do
anything if unknown actions are ignored.

tested on ipod simulator

Change-Id: Ic259fa97b6195ebbc66fcfae31265cc7aeefa421
2021-08-31 18:59:42 +00:00
Aidan MacDonald
c11ed99cb4 bugfix: redraw yes/no screen after a full skin update
This fixes a bug reported on IRC:

1. Set 'bookmark on stop' to 'ask'
2. Play a track from the file browser
3. Stop playback, yes/no screen briefly flashes then disappears.

The screen still handles input correctly but the prompt will not
be displayed on the LCD. Long story short, get_action() can cause
the skin engine to do a full redraw which cleared the screen and
erased the prompt.

There is a special event, GUI_EVENT_NEED_UI_UPDATE, which the list
code uses to avoid precisely this problem.

Hooking up a handler for this event and redrawing the yes/no prompt
fixes the bug.

Change-Id: If3c26655540c13b488b3a11bd46e1d60d4111469
2021-08-29 21:15:34 +01:00
Aidan MacDonald
6322e66219 Remove long-deprecated old style EQ settings
These were deprecated by 1eb17dc9f4 back in 2013 just prior to the
3.13 release. We've had 3.14 and 3.15 since then and I guess nobody
will complain if we finally remove them (fingers crossed...)

Also fix a line which got missed when converting hardcoded numbers
to EQ_NUM_BANDS in that commit.

Change-Id: I79dd71f1f2810bf19bc135999868fafc5fee6e04
2021-08-28 13:23:34 +00:00
William Wilgus
965572705b plugin lib/arg_helper parse 'command line' args
add a helper function to allow plugins to parse the parameter string
passed into plugins
support included for bool, char, string and numbers+decimals

Change-Id: I39f35c8bd3c21b83097a538c19f46d362c468fa4
2021-08-27 05:19:28 +00:00
William Wilgus
cab8cea0f0 lcd_putsxyofs 16 bit lcd_mono_bitmap_part [AS] part duex
'Bugfix' mono_bitmap_part reads ahead in the buffer,
if the height is <= char bit pixels other memory gets read
found with [Address Sanitizer]

also g#3332 since this is clearly a problem across the code
instead place the check for height < 8 in the lcd_mono_bitmap_part function

second try places the check above the negative y offset
this was causing glitches on the Q1 and likely other TS targets
since a negative y was added to height it made it < CHAR_BIT setting
stride = 0 even though the bitmap was >= CHAR_BIT high

Change-Id: I13bb8ab472c2ae61302a6de5d9e2c78243354460
2021-08-26 20:19:26 +00:00
Aidan MacDonald
30e96a3732 quickscreen: fix EQ enable not working in quickscreen
The EQ enabled setting needs to call into the DSP core when it's
changed but this was only hooked into the EQ menu. The quickscreen
uses option_select_next_val() so those DSP hooks were not getting
called because the setting did not have any callback defined.

It seems this bug was introduced by 362f7a3220 removing the blanket
call to settings_apply(). Other settings might be affected too.

Change-Id: Idcce5809c525fa619e6bdf1be50c98a5df103fec
2021-08-26 19:34:18 +00:00
Solomon Peachy
b2386405b9 xduoox3: Disable bootloader USB mode entirely
It's not yet working and because all storage is removable (and the OF
works fine) it's of limited utility aynway.

Change-Id: I8a6a59ac16503d0f4574c3934f473cac54e86858
2021-08-26 11:59:01 -04:00
Solomon Peachy
93c98606f1 xduoox3: Further bootloader improvements
* Power button is what forces entry into USB mode
   (can't use the other buttons due to the long SADC warmup)
 * Inching closer to working USB disk mode (starts then disconnects!

Change-Id: I45ff1c61f39e0e0c3615b38278f5c91b6ef2ed6c
2021-08-26 11:59:01 -04:00
William Wilgus
987d195134 Plugin Api add core bitmaps Fix Yellow
Change-Id: I4cded8733f8ae4d26b013a944ee5e884ed1363d9
2021-08-26 09:37:31 -04:00
William Wilgus
b56372bbcb Plugin Api add core bitmaps
share all the core icons with plugins
these are all small mono icons like usb plug icon or
play, fast forward, rewind icons

--include the icon_helper function

Change-Id: I385028815a4dd368515f491a9e19dee3d500252d
2021-08-26 12:55:34 +00:00
Aidan MacDonald
cbf1970b56 Shanling Q1: minor update to keymap
- Enable repeat for prev/next keys
- Provide a way to access the context menu using buttons
- Update the manual

Change-Id: I53a7474cc64f915851175aea0695229c581fd8a6
2021-08-25 23:28:59 +01:00
William Wilgus
dbd051394e Revert "lcd_putsxyofs 16 bit lcd_mono_bitmap_part [AS]"
This reverts commit 49edfc237b.

Reason for revert: font rendering bug, https://gist.github.com/amachronic/5fa75da280432127de4b44ee2d760281

Change-Id: I13b5f0eedb2926bce67051c8f0bb2ae5dea9f299
2021-08-25 13:05:02 +00:00
Solomon Peachy
97b0e5b5a1 xduoox3: More minor bootloader tweaks
Change-Id: I16b5ada06842822e14c0e4fc262f2cb8067aff72
2021-08-22 11:58:30 -04:00
Aidan MacDonald
d1653bc4d8 touchscreen: fix smooth scrolling in lists
This fixes those annoying jumps that happen when you hit the end of
a list while scrolling.

Change-Id: I2e41111f9415dce1692b52a2600e7ce77c8f0291
2021-08-22 14:57:54 +00:00
Aidan MacDonald
569b165cff touchscreen: handle scrollbar properly when UI viewport is used
Change-Id: I3b55233f4d50f5b8ae38f9f337ebdee6f93ad44e
2021-08-22 14:45:26 +00:00
Aidan MacDonald
a59a629514 filetypes: handle missing or empty viewers.config
We want to load builtin filetypes and other config files even if
there is a problem loading viewers.config. A lot of menus expect
the builtin types to be there and don't work if they're missing.

Change-Id: Ie39c8b9ef184fe0d638bacbe18e5f2d22900bd81
2021-08-22 15:24:51 +01:00
Solomon Peachy
d282424ef2 xduoox3: Allow user to gracefully exit USB disk mode by pressing power
Change-Id: Ic0382059646b7169c275aebe88867b5c0b7dd672
2021-08-22 07:57:24 -04:00
Solomon Peachy
4c745fe8ac xduoox3: A few manual improvements
* Fix a typo in a URL
 * Note how to enter the OF from the bootloader
 * Document how to perform a hard reset

Change-Id: I96d0d64cbd251573e1c5c55657ee5c5db510d9a6
2021-08-22 07:57:24 -04:00
Solomon Peachy
7059183438 bootloader: nuke a long-unused (and broken) code block
Change-Id: I8177c70ef01fd8938f3683e74adc0e008034f92d
2021-08-22 07:49:06 -04:00
Solomon Peachy
2c9e2db721 xduoox3: More bootloader updates
* Rework the LCD initialization a bit
 * Power off after 5 seconds if we hit a fatal error
 * Turn on verbose output if PLAY is held down on powerup
 * Minor code style cleanups

The goal is to not perform the LCD init unless it's needed; ie
only if we run into an error or enter USB mode.

Change-Id: I3f93e881ff55d104f453985ed452f35b433a7d99
2021-08-21 22:20:20 -04:00
Solomon Peachy
e07c460eef xduoox3: Bootloader improvements:
* Explicitly clear the caches prior to launching the binary
 * Ensure the function that launches the binary is in iram
 * Re-sequenced some of the subsystem initializations
 * Fixes for USB mode

Change-Id: Ie020b18586b2599edeb88529dd3d7337e33a5a6f
2021-08-21 21:53:03 -04:00
Dominik Riebeling
247258b9d2 manual: Don't expect first char of name in CREDITS to be ASCII.
Fixes some names not showing in the manual.

Note that there's one name left not showing due to LaTeX unicode support
missing the characters.

Change-Id: I9f1d0d3d49b485be54c83486a23cf97c82d257c8
2021-08-20 21:17:56 +02:00
Dominik Riebeling
356133d321 manual: Add workaround for older KOMAscript versions.
KOMAscript 3.28 changes \ifpdfoutput to \Ifpdfoutput. Add a check and
redefine the new command as the old one if it's missing since only the
name was changed. Not all Linux distros have a recent enough version
yet.

Change-Id: Ie709a1c85f10e1ddebb703ae50d3539f1aeee8bb
2021-08-20 21:17:50 +02:00
Ulrich Hecht
c302c157d5 peakmeter: re-enable on hosted platforms
Has been disabled since HW codec support was dropped, but works fine. Tested
on Surfans F20.

Change-Id: I97f06a009048e8135ca21118467c491e7077fa4f
2021-08-19 18:09:48 +00:00
William Wilgus
0679faf65d lib/helper add talk_val()
talk_value_decimal() replaced talk_value()

Change-Id: Ibb7c738d6f3b399fab2e771d8ab85967e3af96d1
2021-08-18 21:30:13 -04:00
William Wilgus
24e8fa317e plugins trade talk_value for talk_value_decimal
talk_value is just talk_value_decimal with 0 decimals

lets add the extended function instead

static inline int talk_val(long n, int unit, bool enqueue)
{
    #define NODECIMALS 0
    return rb->talk_value_decimal(n, unit, NODECIMALS, enqueue);
}

Change-Id: Iaba3d2f95785f2e1855e294ccf099a977bb6cb20
2021-08-19 01:17:29 +00:00
Aidan MacDonald
4cbb5b4201 x1000: trigger the virtual LED on disk activity
Change-Id: Ic129e79e0b192cb0c39e5f05ad602e0ea7a9213f
2021-08-18 23:17:07 +01:00
William Wilgus
3e37013218 misc.c strip_extension() cleanup
optimize +
add some error checking of inputO

Change-Id: I88c476f5fa66847adc0b361df1a0dd4818dbfdc6
2021-08-17 08:28:23 -04:00
Aidan MacDonald
5a4cc8da3f Drop HAVE_RTC_RAM
Only Archos players ever used this feature and it isn't implemented
on any current targets.

Change-Id: I39c8455480a3fe33cd25b667e8d4d6ff3a092d3e
2021-08-15 20:41:58 +01:00
Aidan MacDonald
de578bde1f Add advanced build option to omit building plugins
Compiling the plugins takes quite a long time and is unnecessary
if you're only working on the core code. Having an option is nicer
than having to edit the configure script by hand.

Change-Id: I401867355d897ce3fd899d9daf25ea9afcc380f0
2021-08-15 19:36:14 +00:00
Solomon Peachy
cc6b036ef5 logf: Fix an incorrect fix in 835d0c737a
Change-Id: I060033d9a7cd54bab75e4f82e3de002bdb027af2
2021-08-15 09:03:16 -04:00
William Wilgus
eafdba87f8 icon.c bug fix handle read errors
read errors are negative buf_sz was a unsignbed int

Change-Id: I45ba67e09ce54ff09411248340ba2c9c62c57583
2021-08-15 11:27:30 +00:00
William Wilgus
2ce7c716c3 apps/open_plugins cast menu id to (void*)
Change-Id: I14ece34e5ad0ffe00bbb4f7de37b1dadad3b92b4
2021-08-14 23:27:44 +00:00
Solomon Peachy
25cebf2f85 Fix red from 04fe77a4
Change-Id: I13a7b067e60eabe27be1fe983a7cced3ae8b18e3
2021-08-14 17:56:15 -04:00
Solomon Peachy
04fe77a465 Remove the (very) incomplete port for the Tatung TPJ-1102
It was barely even a stub, and hasn't seen any development since 2009

Change-Id: I0aa15d9a7b90ae8c771924d9f401380d4cc0fab9
2021-08-14 16:29:39 -04:00
Aidan MacDonald
786d06742a Remove Samsung YP-Z5 port
It has only a couple GB of onboard flash storage with no storage
driver in Rockbox. It hasn't seen any meaningful development since
its initial commit, it's not on the build farm, and the bootloader
build is broken by other refactoring.

Change-Id: Idd9e3c46fac9b96f416ce444182f97a50770e747
2021-08-14 14:13:54 +01:00
Aidan MacDonald
62260aa705 touchscreen: Fix softlock handling
Expands upon c067b344e8. The bug mentioned in that commit affects
touchscreens as well as touchpads, plus touchscreens were subject
to a few other issues because 'last->tick' was not always set.

Change-Id: I27eaa045ebf09555259fddbdf3a79828a55ae31f
2021-08-14 09:42:04 +00:00
William Wilgus
8c36d8b131 lua Fix a few potential bugs
Change-Id: I0293371c58f1ca2d148b3b1e1f780cf76f312ef9
2021-08-13 22:44:45 -04:00
William Wilgus
aad15d5cd7 code cleanup encase ;; in brackets {;;}
Change-Id: I253e19695709b4184ceb4a0748300f7c68437c1c
2021-08-13 11:51:21 +00:00
William Wilgus
da97524252 lua strftime fix out of scope buffer
sbuf goes out of scope of the case statement

Change-Id: Ice0553b496bfbfa5bc243dddf5bad90f3baaba51
2021-08-13 07:28:39 -04:00
William Wilgus
2df306923a file_internal.c guard file_cache_reset() from null pointer
I feel this is probably unlikely to be called with a NULL pointer
for cachep but being that we are already doing the check why not
guard file_cache_reset as well

Change-Id: I1a13767ef28a4129ae3513f7aa999fb6c1d6fad8
2021-08-13 06:32:44 -04:00
Dana Conrad
6de6e1459d Eros Q Hosted: Apply DC Bias to PCM Data
Similar to the native port, the hosted port benefits from
adding a -1 dc bias to the PCM data. This prevents almost
all clicking artifacts.

Change-Id: Ic6378716774b6d88df23c476e2ef54d49f33dc72
2021-08-12 10:07:49 +00:00
William Wilgus
235e41578b metadata/mp3data.c init vars & add sanity checks
Change-Id: Idface0ea73c4a6f0d46a57bddf77db9475a972f4
2021-08-11 22:40:09 -04:00
William Wilgus
30945f1180 metadata/metadata_common.c check read for proper bytes read
Change-Id: I25d7c20d449cde4d5cfd3f57e00ff45f4c14f60b
2021-08-11 22:25:20 -04:00
William Wilgus
f05a7a10a6 metadata/metadata_common.c WS changes
Change-Id: Ieef86e94676c603a21cbb5af55e63ba628a09cdf
2021-08-11 22:16:19 -04:00
William Wilgus
7aa0e0a898 metadata/asf.c ensure variable init & add sanity checks
Change-Id: If4432549b843cafb000c3fedee12184d75da595b
2021-08-11 22:06:15 -04:00
William Wilgus
d8bec3da63 enc_config.c don't overrun mp3_enc_bitr[] array
Change-Id: I1e2acceb707d85481eace3203b1d3d3ec8beb7d1
2021-08-11 11:00:03 -04:00
William Wilgus
1dd531ff03 codec_thread.c don't overrun audio_formats[] array
Change-Id: I58941cea061f41478d7677beb9ff42e28b2455a6
2021-08-11 10:56:14 -04:00