Fixes regression where you may not have heard
any audio from some of the plugins modified by
commit 017dd72, due to the playback channel not
being unmuted.
Change-Id: Iaa184161c79d353dff6ef9bf3e0b39778c8b1bcd
This was a latent bug exposed by commit a3f2b64a46
("Enable float formatting in printf"). The version
number is passed as 1.09f, but somehow ends up printing
a string that is so huge it overruns the destination
buffer and corrupts the return address on the stack.
Using snprintf prevents the buffer overrun and gets
quake working again, though this doesn't address the
underlying bug with printf.
Change-Id: I37e4426bc6ebca42d83b5a3b659da497b652d1ae
On FS#13821, a test build with -fstack-protector-all
(which adds 4 bytes of stack to each function, roughly)
overflowed the dircache stack on the Hifiwalker H2.
In my own testing, the dircache thread hit 94% stack
use on the Fiio M3K using the same settings.
That seems a bit too close to the limit, especially
since the dircache uses recursion and might consume
more stack space for deeply nested directories.
Adding 768 bytes should provide enough of a safety
margin. This increases the stack size from 1.25k to
2k on most targets, including all X1000 targets.
Change-Id: I900c19da9fb33f539d02b00830aedeb15c7449e2
-fstack-protector only needs a small amount of runtime
support to work on native builds. It increases code size
by ~1.5% on ARM/MIPS; -fstack-protector-strong adds 3-4%.
This is disabled by default and must be enabled by passing
'--with-stack-protector' to configure.
Change-Id: If952e711d3673c9b469895f08c7bff70b3d95df6
CC firmware/pcm.c
firmware/pcm.c: In function ‘pcm_switch_sink’:
firmware/pcm.c:311:38: warning: array subscript 1 is above array bounds of ‘struct pcm_sink *[1]’ [-Warray-bounds]
311 | struct pcm_sink* old_sink = sinks[cur_sink];
| ~~~~~^~~~~~~~~~
firmware/pcm.c:79:25: note: while referencing ‘sinks’
79 | static struct pcm_sink* sinks[PCM_SINK_NUM] = {
|
PCM_SINK_NUM is 1, and cur_sink is initialized to 0. It can never be set
above 0. cur_sink can never be >= PCM_SINK_NUM, ie 0, but for some reason
the compiler thinks otherwise.... sometimes.
This only shows up on native ARM builds with GCC9.5.0
Change-Id: I1aa731a4ee21c46a264c8b70833e3b43e777e8a7
-New countdown timer plugin with pause, overtime support
-Add full name to credits and manual entry
-Make status strings translatable
Change-Id: I1437b2e5ac5ede292bdab8d36e58b81326ea2ba3
Quickly reveal a database item in the File Browser.
In case of entire tables, the first entry will be revealed.
Change-Id: I4191f27ea2ab7cacbe375719314d7eb23301fd07
Limit these (less commonly used) "file handling" operations
to the File Browser while making it quicker to reveal the
file that is currently playing from the WPS.
"Open With" and "Delete" remain available as WPS shortcuts.
Change-Id: I91e582a45998160f07a3f7e16d475d770e8c5212
Addresses issue where it became difficult to find the
currently playing track once you scrolled away from it,
either with icons disabled in the Playlist Viewer, or if
the theme's icon set used whitespace for the Music icon.
An example scenario would be when you're moving some track
and are trying to put it next to the currently playing one.
Change-Id: I073a7e55fb723eeff755e32a78f88dcc7db1c245
Required for dynamic inputs (like bluetooth).
Files are now opened with O_NONBLOCK, and inputs are automatically removed on poll errors.
Also added call to close all devices on power off.
Change-Id: I8991bdb881fdc00135d1fd5b01ac900c0b007aeb
Looks nicer, especially when the "View Album Art"
option is used.
Add delay to progress bar, so it only appears when
250ms have passed.
Change-Id: I183c839f1ab206385cd01327922933b544c4b78b
ipod:
- To be more consistent with other plugins and
(Settings) menus, press Long Select, instead of Menu,
to reset, and press Menu, or Select, to exit screen
fiiom3k:
- Press Back, or Select, to exit screen
- Press Menu, instead of Select, to switch between modes
- Use repeat button events and adjust values by 1%, instead of
by 0.1%, when scrolling, to speed up setting changes
- Get rid of surprising actions for Back/Menu/Volume buttons
Change-Id: Ifd16958bf56c7e20fb182aa157b4cb4dd19ac9b9
The recent pcm_mixer changes caused us to overflow IRAM by a whopping 8
bytes. This can _probably_ be mitigated with some clever reworking but
we were clearly already on the hairy edge.
Future pending changes are likely to increase IRAM pressure so even if
we solve this issue the odds are it will reappear at a future point.
(the ipod4g's framebuffer is 5KB. This doesn't affect the mini2g as its
framebuffer is under 4KB, and the ipodcolor doesn't put its framebuffer
in IRAM at all)
Change-Id: I2f50d998e969a706cc9d3a0e057cf8e6c303c9b4
TODO:
* Dynamically hide the sample rates that aren't supported
by the current sink
* Better "default" selection based on hardware type/speed
Change-Id: I261544fc3ba78429eaaa81c89aebd2e68106caa3
The SYSTEM_STATUS macro for these variables has an
F_T_INT flag, which may result in an unexpected value
being written to the resume file for PLM and PVS.
Change-Id: Iea18efbdc68604e1297721d132a9a5b7d056ffad
Every menu heading except the top-level "MPEG Player" (ie the name of
the plugin) now uses pre-existing translated strings.
Change-Id: I65ee64ddc537be4947872da4757bc2f6a27d0bae
All URLs into Sandisk's web site return 404 or 403 errors, so
point at our local mirror of Sansa firmware files instead.
Change-Id: Ib3efcb62b13431f6416a320483877ca162ea5990
(Sandisk no longer hosts any firwmare for these old devices, so point
users at our own mirror instead)
Change-Id: Ibdcddcd2560b2062e84c82c53049022a7f76b226
Prevents the most recent File Browser directory from
being overwritten when ft_load is called from places other
than the Files menu, such as when browsing the Plugins
menu or the Playlist Catalogue (coming from the main menu,
or from the "Add to Playlist" context menu).
Change-Id: Idbdb2d92c6abcc5cca022d3025b48e0cd4b32f17