...On non-multidrive targets it will always evaluate to true because
it effectively ignores the argument passed in.
Instead use 'x < NUM_VOLUMES'
Fixes regression introduced with a41a001258 on non-multivolume devices
Change-Id: I1a620af113c87cf3227ef8b40d0b51b2600cd816
pretty sure this is a false positive by gcc but we know what we expect
to recieve so add a small buffer to shut gcc up
Change-Id: Ibbd7c995ec2f0ade4bfbcb1d659f1cae5d4f1de3
this causes a bunch of flashing on track change for me and I never get to read enough
of the filename before it picks up the id3 data anyway
Change-Id: I36e9b5dd03510b796b652e3116800992bea73869
the skin engine calls the tags for each conditional to check them since %ft
erases it's var if the file doesn't exist %?ft is likely only being called
to check existance of a file or line of a file
this patch allocates 2 bytes to satisify the conditional if the line exists
Change-Id: Ic74bf5fec9a5d9b6724692c49a0997bfa4cff48d
checkwps doesn't have current_tick
mp3_encoder had a divide by zero if the file wasn't encoded correctly or wrong file was passed
fix gcc warning in huffman encoder
move text for small screens
Change-Id: I9d09353e184e760ae31d1a1cd434d2790eacb7ca
builds on top of the file text patch to add hide timeouts to
subline text tags
this allows you to specify both a show time and hide time
for these elements
%t(show, hide)
also removes the 327 second limit for timeouts whne this form is used
Change-Id: If4598dcc24d0c7be4380e7595b7d91c7eba3a728
allow the skin engine to read text files and return a particular line
you then can use ss on that string to allow display of strings from the file
(Playername comes to mind)
able to be used as conditional
%?ft(filename)<Found|Not Found>
if (selected) line of file is empty the tag is treated as #COMMENT
bugfix:
%t(n)%?x<text|text>
would ignore the specified timeout defaulting to 2 seconds
bugfix: cabbiev2.128x160x16.wps was missing %Sx()
for translation on 'Next Track:'
playername.txt generated at boot if it doesn't exist contents: 'Rockbox!'
Change-Id: I04ea4fd411f74c7c6e672657949aa520c2f86f95
allow the skin engine to read text files and return a particular line
you then can use ss on that string to allow display of strings from the file
(Playername comes to mind)
able to be used as conditional
%?ft(filename)<Found|Not Found>
if (selected) line of file is empty the tag is treated as #COMMENT
scroll timeouts now persist thru trackchange
bugfix:
%t(n)%?x<text|text>
would ignore the specified timeout defaulting to 2 seconds
playername.txt generated at boot if it doesn't exist contents: 'RockBox!'
Change-Id: I961910e01be052ef902f77e6d92fc3e367ffe9d0
Turns out they did not swap the stereo switch lines on us,
so this setting isn't really useful. Repurpose it to allow
the user to force the device into headphone or line output mode.
Note that settings other than "Automatic" will cause jack detection
to not work.
Default Automatic.
Change-Id: If94499fbb8f0d92111811fe51f6107ce213b66ad
Since the SPI NOR flash is only used for the bootloader, rename the files accordingly, This is a preparation for the nandboot driver will be introduced, since S5L8720+ don't have an SPI NOR flash anymore.
This is a part of the large iPod Nano 4G and iPod Touch 2G support patch.
Credit: Cástor Muñoz <cmvidal@gmail.com>
Change-Id: Iea835fd2029470bfe9f813631ad4f3db711facc3
Check for the ES9018K2M dac in the bootloader for
hw1/hw2 devices. Assume that all devices newer than
hw2 have ES9018K2M DAC unconditionally.
All devices will now report the correct hw revision
in the debug menu under Device Data.
Add devicedata.version field, current version 0.
Rename device_data.lcd_version to device_data.hw_rev.
hw2 devices with older bootloaders which ID as hw1 are special-
cased to keep using hwvol on them. They should still upgrade though.
Change-Id: If0fd5ce3bc6e85e511047721ec18e42fb89312e7
Mostly replace "%ld" with "%" PRId32 for int32_t,
or add casts to improve portability and prevent
incorrectly displayed values on some systems.
NB: (Some of) the log output is also presented
to the user in the db_commit plugin.
Change-Id: I98f663b35fec682c98f8a065253ee0c9bd34b61b
Move some elements around to save 720 bytes in the skin engine with cabbie
saves some code manipulating the skin_helpers arrays in skin_engine
eliminate conditionals checking for pre/post process functions
using a dummy fn(), consolidate pre/post process into a single function
adding a bool preprocess to indicate stage
Change-Id: Id2df4706b73e9025c7300be135dc02e135e587fe
Event handling must happen on the main
thread for MacOS.
Not sure if button_queue_wait is the
best place for doing the SDL event
polling, but seems to work ok.
Change-Id: If928282df84bdd74e24a48afd7dbc4c4bfcc49e2
Tested on MacOS Sequoia (Apple Silicon) with the
latest Xcode command line tools, gcc 14
(Homebrew GCC 14.2.0_1) and sdl2 (Homebrew 2.30.9)
Make sure 'gcc' (and 'gcc-ar') is in your PATH
ahead of the Xcode-provided "gcc"(clang). E.g.
by setting up symlinks in /usr/local/bin that
point to gcc-14 and gcc-ar-14.
Notes:
- The appropriate bmp from uisimulator/bitmaps
has to be manually copied to your build folder
and renamed to UI256.bmp, if you want the sim
background to be displayed
Change-Id: I559f33d2165065f913f30c016b85906af380fb81
Playlist Viewer hangs indefinitely on tracks with long Comment fields
Commit 2156d98 (metadata: mp3: Improve support for long tags) has
allowed the length of parsed tags to exceed ID3V2_MAX_ITEM_SIZE.
Overly long tags may blow the stack due to a stack-allocated buffer
in the metadata parsing routine, that can reach 3 times the size of
the id3v2 and id3v1 buffers combined.
This patch moves the mp3entry struct used by the Playlist Viewer
off the stack and onto the plugin buffer instead, which helps prevent
a stack overflow in cases such as the example posted in FS#13518.
Future patches to either constrain ID3V2_BUF_SIZE to ~1120 bytes or
to lower the stack usage of metadata parsing will still be required
to fully address the issue.
Change-Id: I2f436195bc8df4d785b1880f6ab167783a162020
most of the data gets wiped out by the next (or current) text
add some sleep and buffer the log text so we can display it after each test
needs tested:
remote displays
greyscale
Change-Id: I14e53aca71e925ff9f547a77c6805a75d2d37e67