fixes:
- traverse_dir was called recursively using two
MAX_PATH local buffers => possible stack overflow
- The import function inserted additional, incorrect,
entries when the whole line buffer was filled
- "Dirs not found" message overlapped number
of folders when generating folder list
- Final number of scanned folders wasn't displayed
- Wouldn't stop inserting when maximum number
of files in playlist was already reached
- Prevent buffer overflow when importing
- Don't write to fd after opening failed
- Use whole buffer with read_line, instead
of subtracting 1. Remove hard coded sizes
- CRs don't need to be removed in import function
(already handled by read_line)
features:
- Use insert context for *much* faster insertion
of large # of folders, and nicer progress display
- Use UI viewport
- Add progress indicator when saving or loading
- Display number of folders in edit list title
- Go back to plugin's main menu from edit list
- Only ask to save changes if list is dirty
- Warn before erasing modified playlist
- Flag successfully created playlist as modified
- Make folder scan wait for dircache
- Shorten menu item names
- Put "Play Shuffled" menu item first
- Remember selection when returning from submenus
- Go to WPS after ACTION_TREE_WPS
- Exit menu when pressing Back
- Perform an initial scan, if no data file exists
yet, when "Play Shuffled" or "Edit" is selected
Change-Id: I7df76f8fb8387888ce491d8b74b01b481e9997d3
The WPS, or certain screens accessed directly from it,
may have displayed a title when they shouldn't have.
Change-Id: I655f58aa7c4ff3ff996d9798fdbe06c14f09c27b
Each time viewportmanager_theme_enable (or _undo) is called,
the SBS title is reset, even if the theme remains enabled.
Thus switching from one menu to another, if do_menu is called
again, briefly results in an empty title before the correct
one is displayed. Even unchanged titles will unnecessarily
flash for a moment. Other theme elements that are drawn using
conditions based on the title, may also appear glitchy.
This patch adds a way to make the status bar title persist by
copying it to a static buffer. Persistent titles are not reset
by toggle_theme (although scrolling will be stopped in
viewportmanager_theme_undo), so that the theme can immediately
display the appropriate title in do_menu, simplelist_show_list,
the yesno screen, or plugins that want to keep the theme enabled.
Change-Id: I1ec8f233b730321793eb7d3cad51496ee1b35440
When deleting files or directories, you will now see
the path's basename in the previously empty title of
an SBS, making it a bit easier to immediately know
whether you've selected the correct item.
Matching titles were also added everywhere else that
confirm_delete_yesno is used.
The full path of the item is still displayed below,
and continues to scroll, so that themes without a
title, such as the default cabbiev2, will look the
same.
Change-Id: I32422cfbbf6e680f58456237380176617789cac3
HAVE_USB_CHARGING_ENABLE isn't enough, as the ihp3xx targets have an odd
combination of USB charging but rely on an external ATA bridge.
Change-Id: I2cba5f218971ac23cde8dca34faa06bbb44a2448
Later GCC versions are apparently more permissive than older versions
when it comes to variable declarations not part of a block (ie {} that
immediately follows a case statement.
This resulted in every non-simulator device target failing to build,
along with sim build on older compilers. I should have caught this in
the review; mea culpa.
Change-Id: Id32e085e34601cca7be273ed45711a4b8ee182a0
This new tag returns the position in the playlist as a percent. The main usecase for this is to use it as a bar tag, allowing themes to visually present playlist progress.
Change-Id: I0eb001e7458d97b8a0db39f3980d9c283bc8806b
This commit does the following changes:
- Fix mkdir implementation not reporting EEXIST error.
- Fix database build feature.
- Small speed-up when parsing directories and files.
- Fix buffering thread hogging cpu and preventing other threads to run.
- Fix sdl plugins not compiling by re-adding ctru specific cflags in sdl.make.
Change-Id: I507c0dcc85cdbcc607ab9c9c6d0b42e6a80caa5a
This maps the numerical IDs contained within the binary .vstrings files
to their logical LANG_* and VOICE_* names.
While not strictly needed to produce voice files, it adds the final
piece to be able to use vstrings files to produce the same voice files
as the existing 'make voice' flow that directly parses the language files.
The 'make voice' flow intentionally divert a few of the generated clips
into standalone files:
* "invalid voice file"
* <spoken language name>
* <short pause>
For this to be possible, we need to know which specific entries in
vstrings map to the ones we care about, and without this enumeration
(which can change on a per-target or even per-build basis) this is
effectively impossible.
The produced lang-enum.txt is simple, with one entry per line of the
format: number:name
Note that nothing uses this new file yet; that will come in subsequent
commits.
Change-Id: Iec3fccbb6d503dd7e2d529aad318009a489b1d77
there are no functional changes in this patch
it just makes it easier to build lua in core app
or plugin form
-Update moved some things around messing up compilation on Native targets
due to *errno
Change-Id: I0921df62d72a87516ad95c68e986b5931c35345e
Move HAVE_CODEC_BUFFERING to config.h, and disable all
related code on targets that don't support the feature,
ie. hosted targets that can't implement lc_open_from_mem().
Change-Id: I0d2a43900cd05b1a80c3cee519f8ad7b26e39fe7
new operators @~, *~
contains_oneof and not_contains_oneof
genre @~ "metal|core"
black metal, death metal, grindcore, mathcore
genre ~ "jazz" & genre *~ "rock|pop|fusion"
included: jazz, free jazz, cool jazz, etc.
excluded: jazz rock, jazz pop, jazz fusion
Change-Id: If9590c8607b58373a98f5c9ea537f54df78d5a2f
They have not been touched in over 20 years, and have effectively
bitrotted to the point where they are effectively untranslated.
Any interest in these translations would have to effectively start from
scratch anyway, so let's stop pretending the status quo is useful.
Change-Id: I13e1ae920883f5babb232f0592076be24c8122d4
Motivation:
1. 'Absolute point' mode works fine in this plugin.
2. This plugin is part of the Rockbox menus. If the user setting is not 'button' mode, it is unexpected to have only this menu work in a different mode compared to all other menus.
Change-Id: Iec91d3cd875e8a80e835a4a58d87a6ec84529def
This commit enables plugins for the 3ds platform.
And adds 3ds specific pad configurations for each plugin.
Change-Id: Ie28fef4da32ed4cd2caa6c9fa3b2fe312ee009ef
The ZEN V target is the only one which has volume buttons,
but lacks the menu and shortcut buttons.
IMO an independant keymap will make maintenance easier.
Change-Id: Ide79fab629b13eae94946561d99052e570c0e4f2
If you try to rewind music at lrcplayer it
1. returns back to old time
2. play for some time (1-2 seconds)
3. only after that returns for new time
According to wps code audio_pre_ff_rewind function should be called
before any rewinding. It stops playback and automatically resumes it
after audio_ff_rewind call
Change-Id: Id3755bfe4deeb7cd5d889ad7d8e1dec45061fa5c
According to wps code audio_pre_ff_rewind function should be called
before any rewinding. It stops playback and automatically resumes it
after audio_ff_rewind call
So, let's add audio_pre_ff_rewind to plugin's API
Lua scipts were tested:
```lua
-- has issue with rewinding
rb.audio("ff_rewind", 0)
```
```lua
-- no issue with rewinding
rb.audio("pre_ff_rewind")
rb.audio("ff_rewind", 0)
```
Change-Id: I2ad6b9c396760b2086bc0a28633a1c80c3512739
* German (Karl Huber)
* Korean (Hoseok Seo)
* Polish (Adam Rak)
* Simplified Chinese (王吉)
* Slovak (Matej Golian)
* Swedish (wilton millfjord)
* US English (myself)
Change-Id: I644133e326c3ee1ec3862791075dda39fd17a3e4
Original author Melissa Autumn (https://codeberg.org/oopsallnaps/rockbox-hibyos) with contributions from Marc Aarts.
Adaptation to Rockbox standards by Marc Aarts
Change-Id: I09e5af7ba0a75c648e4b9fd424badc2d3665c943
Sometimes OTP code expires soon and we can't use it. So, We have to
wait for new one. And it's really anoying, when devide stucking at this
time
Change-Id: Ic5e0105b6c051ad2ec2a2421068867be2e497683
OTP uri parameters is key value options separated by '&'.
So, we on unknown params we have to reject also everything what was
behind '&'
Example:
otpauth://totp/kek?issuer=petya%40IPARTKN.TEST&secret=1234567890&digits=6&algorithm=SHA1&period=30
"algorithm" was unknown. So, next token after it was "SHA1&period", not "period"
Change-Id: I48eb198fd46212c6422dd8eac214adafdf3a52eb
Running Disk Tidy while the dircache is loading is a lot
slower than waiting for it to finish building first.
Typical scenarios for this would be starting Disk Tidy
immediately after booting or after unplugging from USB.
Deleting files during a dircache build also seems to easily
result in memory corruption, as evidenced by visual glitches
appearing in the theme.
Change-Id: I9250d918d916b112ffe2504a9225a0b52bcc3622