Commit graph

16398 commits

Author SHA1 Message Date
William Wilgus
adff45ca21 lua -- temp loader
fix a few bugs, improve memory usage

Change-Id: I6ceefd033000a6178eab0dd513679b5d72cec81c
2021-05-06 21:36:55 -04:00
Solomon Peachy
244aad750c Update the english-us "translation"
Change-Id: Ife8dc52dd60fa10e8713f85969cebb6a865fd624
2021-05-04 21:56:41 -04:00
William Wilgus
9b2f23319c lua fix yellow and add temploader
temp loader allows some lua requires to be loaded and
later garbage collected unfortunately the module needs to be formatted
in such a way to pass back a call table in order to keep the functions
within from being garbage collected too early

BE AWARE this bypasses the module loader which would allow code reuse
so if you aren't careful this memory saving tool could spell disaster
for free RAM if you load the same code multiple times

Change-Id: I0b6f81e481b8c779edbd620c8403794f8353926f
2021-05-03 23:13:25 -04:00
William Wilgus
489a5f3ff7 lua add ability to use custom kbd layouts
bring custom keyboard layouts to lua
conversion to the proper format requires create_kbd_layout.lua
just pass a lua string with your desired layout

Change-Id: I14a392410846311a4f3cf8dda0e88d39834d0418
2021-05-04 01:52:08 +00:00
Dana Conrad
4f83e66cd4 FS#13287 - Load a newly saved playlist and resume where it was
Works from any playlist saving operation accessed from the
While Playing Screen, all other playlist saving operations
are unchanged.

Now a user-selectable setting! Located in
General Settings -> Playlists -> Current Playlist ->
Reload After Saving (Yes/No)

Change-Id: I5085c3f4c56c518a812d5ee015d15cc4dca19a28
2021-05-03 20:10:27 +00:00
William Wilgus
20cd89908d lua submenus add a way to dynamically add items
updated example script and renamed some functions as well

fixed bug in printtable cursor position if greater than maxlines for the
screen would reset to item 1

now we move the list start and select it
(and try to center it on the screen)

fixed a few bugs in the add_menu code

Change-Id: I01dead0481ef2e925af8b4cc6c14e36c2859dbba
2021-04-30 13:38:54 +00:00
Aidan MacDonald
20fc928221 x1000: Centralize common definitions, memory layout
Change-Id: I8daad058ae55d4b750b1ae407153e4917de5d095
2021-04-28 20:04:10 +01:00
William Wilgus
63b6281505 lua add submenu module + cleanup
allows menus + submenus + context menus all with simple tables
menu_t which is a table of strings
func_t which are the corresponding functions to go with those strings

see lua_scripts/submenu_demo.lua

Change-Id: I907b74b4abef0ecbe49f181d0ced6e6d20e94de5
2021-04-28 04:37:16 +00:00
Aidan MacDonald
d5695822a7 MIPS: remove .MIPS.abiflags section
The abiflags data is only used to communicate ABI information to a
program loader -- you can see what info is stored with readelf -A.
Dropping it shaves 24 bytes off of every binary (including plugins).

Change-Id: Iae78eeffe5c840ff67717707fb94821d24aac8ec
2021-04-26 12:41:06 +00:00
Solomon Peachy
7d0d32dbc6 Nuke the never-functional iriver ifp-7xx port
It never worked, and hasn't compiled in something like a decade, Given
the HW capabilities (limited onboard flash, no expandability) there's
really no point in trying to fix/complete it.

Change-Id: I7d175089840396f8891645bd10010d730dd5bfdc
2021-04-26 07:42:58 -04:00
Solomon Peachy
3ba2f6e5c7 Nuke all TCC77x targets: iAudio 7, Sansa C100, M200(v1-3), Logik DAX
They were never finished, never saw any release ever, and haven't
compiled for the better part of a decade.  Given their HW capabilities [1],
they are not worth trying to fix.

[1] 1-2MB RAM, ~256MB onboard flash, no expandability

Change-Id: I7b2a5806d687114c22156bb0458d4a10a9734190
2021-04-26 07:41:51 -04:00
Aidan MacDonald
c37555d30d FiiO M3K: remove the bootloader install debug menu
This menu serves no useful purpose anymore. I plan on adding an
improved version of this functionality to the bootloader instead.

Change-Id: I6a93625789f7192031eb6cee6708f9a867318622
2021-04-25 14:42:53 +01:00
William Wilgus
557ff6a981 lua print_button script
also allow splash_scroller to be used as static text display

Change-Id: Idc8c9e60ada920e2d1abd5301b59bd235e21a1c2
2021-04-24 00:00:44 -04:00
Solomon Peachy
75d9393796 rockboy: Properly fix the GCC11 code style warnings.
Change-Id: I69c77717604051052288a2d0f3aab068516d18ef
2021-04-23 09:25:47 -04:00
Solomon Peachy
0271c0ed36 rockboy: Upstream code style trips GCC11 warnings.
Code in cpu.h is correct, so just disable -Wmisleading-indentation for
the specific sections that matter.

Change-Id: I378f3a6fef117ac73edb0d8ce998ef3a818be22e
2021-04-23 08:45:33 -04:00
Solomon Peachy
ebb9090004 xzbox: Fix misleading indentation that triggered GCC11 warnings
Change-Id: Ice462ef188dba3bc8ffc46c32142fc29d70e1a68
2021-04-23 08:42:10 -04:00
Solomon Peachy
03695429cf blackjack: Fix warning triggered by GCC 11
Change-Id: Ifcba0caf059bfa9f833893a1dbf0dc7a1c9b3e61
2021-04-23 08:40:57 -04:00
Aidan MacDonald
75cb8ba8a4 FiiO M3K/X1000: add USB support
This only required a minor patch to the usb-designware driver due
to DMA requiring physical addresses -- on the X1000, these differ
from virtual addresses so we have to do the usual conversion.

Both the mass storage and HID drivers work, but there are a few
issues so this can't be considered 100% stable yet.

- Mass storage might not be detected properly on insertion,
  and USB has to be replugged before it shows up
- HID driver may occasionally panic or hang the machine

Change-Id: Ia3ce7591d5928ec7cbca7953abfef01bdbd873ef
2021-04-21 18:31:55 +00:00
Aidan MacDonald
f6d3680cb8 Make sure battery menu is shown if it contains settings
The #if statement didn't reflect all menu items in the battery
menu, so if the USB charging enable setting was the only one
present, the entire menu would be hidden.

Change-Id: I17a4ed626debf1f61ca140d67d477bdbd52ca180
2021-04-21 18:28:09 +00:00
William Wilgus
acda37edd1 lua print table put_line a do_menu alternative
add stylized lines to lua

the exported do_menu has a severe limitation of 64 items
it also requires double the memory

put_line is the way rockbox builds menus

update printtable

user config from core -- done
code cleanup
fixed for 1-bit screens
changed button behavior
fixed for 2-bit screens

Change-Id: I4de55e42685aa1d2f53a33bc8e980827864e810b
2021-04-20 03:30:41 +00:00
Aidan MacDonald
afe80742a5 Fix Pictureflow bugs
It turns out that aa_cache.buf, used to store decoded album art during
background scanning, was not correctly allocated and overlapped with
memory allocated for buflib. This was what caused all the segfaults.

Also fixed a logic error in read_pfraw(), which returns a buflib handle
on success, but also returned 0 on failure -- since 0 is a valid buflib
handle, it should return -1 on failure instead.

Change-Id: Ifaa1c02ec19b0859e43c40c0462ed7738d07fec3
2021-04-17 13:06:29 +00:00
William Wilgus
a9d3e9a13d The Matrix plugin -- Bugfix
Off by one errorS in the matrix plugin

might even say its the matrix plugin re-loaded

Change-Id: I2bc7487615a9e28fcd1d170961fb0b5ee6da6af7
2021-04-16 10:10:15 -04:00
Solomon Peachy
e4345f2db8 build: Make the lang.h and genlang.h depend on the genlang tool
(So if genlang is updated, regenerate the language headers)

Change-Id: I1de94eff609b27788db4f08e2d99992b8f360849
2021-04-10 22:59:28 -04:00
Solomon Peachy
6ae2b7140c Fix red in bc416ff590
Most of it was due to checkwps breaking, the rest was m68k with radios.

Change-Id: I8a00e094e4006a132932f05e6c4ff7db63dfbfc8
2021-04-10 21:06:41 -04:00
Solomon Peachy
bc416ff590 misc: Only include rbpaths.h and string-extra.h in places that need it
(Don't include rbpaths.h in settings.h, or string-extra.h in rbpaths.h)

Build-tested on rocker, erosq, mini2g, nano2g,
                xduoox3, clipzip, dx50, and uisim

Change-Id: If32e9c9910f5c8247a655cb64522b84d6d7ccbb5
2021-04-10 12:08:12 -04:00
Aidan MacDonald
10facef17b Skin engine: respect volume decimalization
This is basically the same problem as FS#13272, except it happens
on certain themes, eg. rayboradio. The issue only affects targets
with decimal volume levels.

Tested the fix using the rayboradio theme on the FiiO M3K and the
Fuze+ simulator. Volume was displayed correctly on both.

Change-Id: I9e035f7a3c04c85c9b3b01243c7f0a5f8f0ccf9f
2021-04-09 10:53:44 +00:00
William Wilgus
c77cd7027f lua print_table add ability to draw a line separator
allows you to draw a line between items

Change-Id: I7e6e2f56738e12ff06d06a24f0f9d0769932a7b1
2021-04-08 04:15:40 +00:00
Solomon Peachy
f8ce18c286 Update the english-us "translation"
Change-Id: I306fe06628ceee4efb6913cf0d4744a7fc8e814f
2021-04-07 21:50:28 -04:00
Christian Soffke
1b82ebc6e4 Fix: Directory stream not closed in Shortcuts menu
Change-Id: Ie653682f35945f334e1658804500467f76495fcc
2021-04-07 23:02:34 +02:00
Solomon Peachy
213d372c92 FS#13272: Fix up volume_limit to respect decimilaztion.
Change-Id: Ib0e5ddcd660115f156ddb545e45bbe7da42f9709
2021-04-07 14:38:54 -04:00
William Wilgus
c5cf15ed02 menu.c submenu items should be limited to MAX_MENU_SUBITEMS
maybe someone is checking somewhere but pretty sure the error message is a
buffer overflow

Change-Id: I3b95db12bbbd4631223bbbbe540beb2d0dd984c6
2021-04-07 16:22:09 +00:00
Solomon Peachy
da542020c4 FS#13285: Updated Italian Translation (Alessio Lenzi)
Change-Id: I248d92121fb76056add2b533681aff27a6c58dd7
2021-04-07 14:42:29 +00:00
Solomon Peachy
8b56476a2c list: After drawing scrollbars, explcitly switch back to old viewport.
The viewport used for the scrollbar is allocated on the stack, and falls
out of scope before the next call to set_viewport(), which sets a flag
in the now-out-of-scope "last" viewport.

Change-Id: I2c8bfcff500d189fa3857411aadc2e16aa545d2c
2021-04-07 11:02:00 +00:00
Dana Conrad
1aed109fa8 Add ability to always have autolock on
Tested on ErosQ

Added a setting in the Advanced Softlock menu to always
have autolock on, rather than having to "arm" it with the
softlock button. Lock/Unlock still works the same with
this on, but when the screen turns off, the device always
ends up in the locked state. Requires Autolock On to be
set as well, and the normal Autolock functionality is
unchanged with this off.

Caveat: the power/softlock button must be pressed
at least once after powering on the device or enabling the
feature. After that, it should consistently always "arm"
the autolock.

Added feature to manual in
manual/configure_rockbox/system_options.tex. Also updated
some labels I had changed in the Advanced Key Lock menu
and added information for Disable All Lock Notifications
in a previous commit. Shared items also updated in
manual/configure_rockbox/display_options.tex for selective
backlight.

Change-Id: I09dc6814bee803e40c7088157e1fe9d01d5f3474
2021-04-05 11:09:32 +00:00
Christian Soffke
4bc7bafc68 Enable QuickScreen in filtered dir modes & playlist viewer
Will allow the QuickScreen to be accessed in the playlist catalogue
and when editing a playlist using the playlist viewer.

Change-Id: I4b7108db6384eb2077ffdccb2992f2e51a39f42f
2021-04-04 11:14:18 +02:00
Christian Soffke
4f374b3862 QuickScreen: Update status bar after changing volume
So that (e.g.) a skin's custom volume bar doesn't appear choppy during
volume adjustments

Change-Id: I65b9c46ccbdea3f2cb84c418d5d2e33e0121acc9
2021-04-04 00:14:37 +02:00
Christian Soffke
674c07d654 (Fix FS#13281) Revert "Restore playlist state as necessary before checking whether current playlist has been modified"
This reverts commit 46085c8978.

Change-Id: Id8540bb44b64546389d06593d8ff46588b634b53
2021-04-01 07:57:12 +02:00
Solomon Peachy
058a9ec945 Add M3K native to the simulator
Change-Id: If3e877d2df189e44076631fd571cf6aa70ce6ca8
2021-03-28 12:08:31 -04:00
Aidan MacDonald
3ec66893e3 New port: FiiO M3K on bare metal
Change-Id: I7517e7d5459e129dcfc9465c6fbd708619888fbe
2021-03-28 00:01:37 +00:00
Dana Conrad
f00eea4434 ErosQ: Fix text entry keymap
Text entry keymap was almost completely	backwards, and it was
impossible to submit without adding one last character.

Change-Id: I40a224fe20e228c5e4670dd6583318918c59c827
2021-03-25 20:58:13 -05:00
Solomon Peachy
d121aa3fe8 build: We don't need sh-specific flags in the pictureflow build.
Change-Id: I1e9ab4332cbeb5aabc01edf825eace6152347e0a
2021-03-25 12:20:15 -04:00
Solomon Peachy
eedc8934a9 FS13279: Update Polish Translation (Adam Rak)
Change-Id: Ib05bc51e3fa082a20862929f318bfd2e50d0dd66
2021-03-23 09:01:41 -04:00
Solomon Peachy
9a8ec7e0df Update english-us "translation"
Change-Id: I757e6b96473f714497bab45d17e754b5e344a5c4
2021-03-23 09:01:41 -04:00
Christian Soffke
e862816773 Fix FS#13278: error message when playing a song with Rockbox for the very first time
The function to check whether a playlist has been modified
will now only try to resume a playlist, if the global resume index
is not -1.

This also means that replacing a finished (modified) playlist will not
produce a warning anymore if Rockbox has been restarted in
between. In that respect, the behavior is identical to
what it was *before* 46085c8978.

Change-Id: Ib95f89043274f1c72c75023d1506fc093aaf4cf9
2021-03-23 05:17:56 +01:00
Solomon Peachy
3682891772 FS13277: Updated Polish translation (Adam Rak)
Change-Id: Iae27b78c66ebd0d9d185efaeef9131b86505bf9f
2021-03-22 23:09:21 -04:00
Dana Conrad
1c54c5227b Add disable setting for all softlock notifications
Tested on erosq

Added ability to disable all softlock notifications. Setting is
"Disable All Lock Notifications" under Advanced Key Lock
Settings.

Tested to make sure it doesn't interfere with backlight
exemptions, keylock exemptions, or first press enables backlight
only. When enabled, this overrules the existing Disable Notify
setting, which only disables the reminders when a button is
pressed while the device is already locked.

Also changed phrases in the Advanced Key Lock settings menu
to make it more obvious what the options do. Changed
LANG_ACTION_PLAY, LANG_ACTION_SEEK, and LANG_ACTION_SKIP from
"[button]" to "Exempt [button]". These language changes will
also affect the Backlight Exemptions list, but the wording
should be appropriate there as well.

Added LANG_SOFTLOCK_DISABLE_ALL_NOTIFY and LANG_ACTION_VOLUME,
changed LANG_VOLUME to LANG_ACTION_VOLUME in display_menu.c
for consistency.

Change-Id: I914fe154ba5d508a842165aea7c7755e4e6b9c57
2021-03-23 02:05:20 +00:00
Aidan MacDonald
bf9fdb13c4 Remove some HAVE_FUNCTIONAL_MODE bits
This was dead code introduced by 0662793c, and got missed
by 08ab3aea which should've removed it.

Change-Id: I87d02eab11479133c66524e58efc504ff093dfbd
2021-03-22 13:22:13 +00:00
James Buren
90ad920d44 debug_menu: revise how the ATA device bit is reported
According to the ATA specification this bit is used to indicate
either an ATA device or a CF compatible card. We use it currently
to indicate CF compatible status. So let's change the wording
accordingly.

Change-Id: Iee87197dee80e6225e4c62c40bceedfbc4e659c2
2021-03-22 13:22:00 +00:00
Aidan MacDonald
55805e13a4 Add new audiohw capability: POWER_MODE_CAP
This allows the user to make use of the DAC's power-saving abilities.
The two modes are "high performance" and "battery saver". This feature
is supported by the AK4376 DAC in the upcoming FiiO M3K port.

The setting is only a manual toggle right now, but in the future it
could be hooked up to the battery level (via another setting) so it
can be toggled automatically when the battery gets too low.

Change-Id: I482af6e2f969fcbdeb3411bd3ff91f866b12d027
2021-03-22 13:00:11 +00:00
James Buren
3a254a92c7 debug_menu: Fix compile error from previous commit
Change-Id: If01ba31a34be3e277a98adb93861aa2a19d8829d
2021-03-22 06:30:06 -05:00