| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Take #2)
If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.
Adds plugin load end address that accounts for IRAM going past
the final .bss sections, making IRAM overlay compatible. load_code
could also use this instead of the file size.
The .lds becomes a bit more straightforward and explicit when
assigning addresses.
Change-Id: Id0c33f257710e97ece2c831e0feaaa32c1a14e05
|
| |
|
|
|
|
| |
This reverts commit 5c2ad2fd36be7a0d1ec2468e6b270047c36d8a6f.
The .ncbss bug is still showing up. Will try again shortly.
|
| |
|
|
|
|
|
|
|
|
|
| |
If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.
There also should no longer be an issue that needs special correction
with iramcopy and empty .bss. The .maps look good in that case.
Change-Id: I02bf73a0acef2c0c04b5d135ecf4e18fb97ee339
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In sansa clip + with virtual keyboard you can write/rename a stuff and move
your cursor in the filename field. But while your cursor reaches the end/start
of filename it just blocks the movement of cursor and beeps if you enabled the
"Voice Menu" feature. This patch swaps over cursor to the start/end of filename
instead of just blocking movement.
Change-Id: I37450df062df60ef4c0d747c13e448d0adbde05b
Reviewed-on: http://gerrit.rockbox.org/503
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
|
| |
|
|
|
|
|
| |
If CPU is not boosted for some reason already, then the stop flush
can take longer than it really ought to.
Change-Id: I0572cc83067749e9945b3eb825f976db21d914f9
|
| |
|
|
|
|
| |
Did grep fail me?
Change-Id: Id8254aa542d57204e265ef06829b4e034f032137
|
| |
|
|
|
|
|
|
|
|
|
| |
Update all .lang files and change the id from LANG_RECORDING_FREQUENCY
to LANG_FREQUENCY. Also update description and target.
It will throw things off for targets without recording but that do
have 48KHz, possibly older iPods. I'm not sure what else it might be
off hand. Regenerate voice files and replace .lang files in that case.
Change-Id: I9ab396ecfcca9206054bde34aa2cc23b505dabff
|
| |
|
|
|
|
|
|
|
|
|
|
| |
after unlocking the device while being into FM
radio screen. This patch restores expected behaviour by
forcing screen refresh when receiving the proper event.
Change-Id: Ibe0864ab78619ddf235912d06a2efe3203b5042a
Reviewed-on: http://gerrit.rockbox.org/505
Reviewed-by: Lorenzo Miori <memorys60@gmail.com>
Tested-by: Lorenzo Miori <memorys60@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
| |
|
|
|
|
|
| |
Change-Id: I965550753bdd65ef4b02ef24e44e0faad2c74289
Reviewed-on: http://gerrit.rockbox.org/504
Reviewed-by: Lorenzo Miori <memorys60@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
| |
|
|
| |
Change-Id: I6badf687ef330abf79f2e1a809d8b2f93ba4e911
|
| |
|
|
| |
Change-Id: I1df74c535a8c054223e8687e7c28bc6a130070d0
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaces the NATIVE_FREQUENCY constant with a configurable frequency.
The user may select 48000Hz if the hardware supports it. The default is
still 44100Hz and the minimum is 44100Hz. The setting is located in the
playback settings, under "Frequency".
"Frequency" was duplicated in english.lang for now to avoid having to
fix every .lang file for the moment and throwing everything out of sync
because of the new play_frequency feature in features.txt. The next
cleanup should combine it with the one included for recording and
generalize the ID label.
If the hardware doesn't support 48000Hz, no setting will be available.
On particular hardware where very high rates are practical and desireable,
the upper bound can be extended by patching.
The PCM mixer can be configured to play at the full hardware frequency
range. The DSP core can configure to the hardware minimum up to the
maximum playback setting (some buffers must be reserved according to
the maximum rate).
If only 44100Hz is supported or possible on a given target for playback,
using the DSP and mixer at other samperates is possible if the hardware
offers them.
Change-Id: I6023cf0c0baa8bc6292b6919b4dd3618a6a25622
Reviewed-on: http://gerrit.rockbox.org/479
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
|
| |
|
|
|
|
|
|
| |
Those who have keyclick enabled and are really eagar to record upon
boot can get the samplerate messed up because who gets to set the sample
rate last (recording or mixer) is not currently deterministic.
Change-Id: Icc43ed789cf23f928ca49657cb146445b0c558cb
|
| |
|
|
| |
Change-Id: Ie7b04ecf3b3535e0ed45a6e0e8d81af89e38378e
|
| |
|
|
| |
Change-Id: I2072c355f05b6e709a5c179512bc2b71756163a5
|
| |
|
|
| |
Change-Id: Ibd355ee1cf39d1a4b07def94634f0316468bf727
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Basically, just give it a good rewrite.
Software codec recording can be implemented in a more straightforward
and simple manner and made more robust through the better codec
control now available.
Encoded audio buffer uses a packed format instead of fixed-size
chunks and uses smaller data headers leading to more efficient usage.
The greatest benefit is with a VBR format like wavpack which needs
to request a maximum size but only actually ends up committing part
of that request.
No guard buffers are used for either PCM or encoded audio. PCM is
read into the codec's provided buffer and mono conversion done at
that time in the core if required. Any highly-specialized sample
conversion is still done within the codec itself, such as 32-bit
(wavpack) or interleaved mono (mp3).
There is no longer a separate filename array. All metadata goes
onto the main encoded audio buffer, eliminating any predermined
file limit on the buffer as well as not wasting the space for
unused path queue slots.
The core and codec interface is less awkward and a bit more sensible.
Some less useful interface features were removed. Threads are kept
on narrow code paths ie. the audio thread never calls encoding
functions and the codec thread never calls file functions as before.
Codecs no longer call file functions directly. Writes are buffered
in the core and data written to storage in larger chunks to speed up
flushing of data. In fact, codecs are no longer aware of the stream
being a file at all and have no access to the fd.
SPDIF frequency detection no longer requires a restart of recording
or plugging the source before entering the screen. It will poll
for changes and update when stopped or prerecording (which does
discard now-invalid prerecorded data).
I've seen to it that writing a proper header on full disk works
when the format makes it reasonably practical to do so. Other cases
may have incorrect data sizes but sample info will be in tact. File
left that way may play anyway.
mp3_enc.codec acquires the ability to write 'Info' headers with LAME
tags to make it gapless (bonus).
Change-Id: I670685166d5eb32ef58ef317f50b8af766ceb653
Reviewed-on: http://gerrit.rockbox.org/493
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
|
| |
|
|
|
|
|
| |
Change-Id: Ie3f43e43076e0dcae9a10f1b0b9e4698b398acee
Reviewed-on: http://gerrit.rockbox.org/492
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
|
| |
|
|
|
|
| |
Change-Id: Iba5cb8b29ad06080d04105d6f9ef2c62e81d4f36
Reviewed-on: http://gerrit.rockbox.org/491
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
Causes the track change to go in the wrong buffer (and even be missed
by playback) if the current descriptor for the write index is descriptor
0 because the offset used is "-1" upon track change.
Got nailed by implicit conversion of the % operator dividend to unsigned.
Change-Id: I32538db801ac9d790c8b1b5bd041b09ad4b64d2e
|
| |
|
|
| |
Change-Id: I8773ff7275372882321ebf2e66462781735cddc6
|
| |
|
|
| |
Change-Id: Ie2da1a1ba9d2dad76e2f1c45abd907c3ede4f56c
|
| |
|
|
|
|
|
|
|
|
| |
The code assumes that gustable[] has 128 entries, while it
only had 120. Since the entries follow a simple pattern (they
seem to be note frequencies, so each entry is the previous one
multiplied by the 2^(1/12)), expanding the table is the simple
fix.
Change-Id: If5b5a50378afd3206c9d550227dd9aac8e355c96
|
| |
|
|
| |
Change-Id: I8d1278b8cfaa376d2ad5a99dd552dc980c66e1da
|
| |
|
|
| |
Change-Id: I4a14c8b0cf1a8c822166ce01087b31c06722d8ae
|
| |
|
|
|
|
|
| |
Change-Id: I75efbf1077359e4218ad33f4c1d885b24c0b7b01
Reviewed-on: http://gerrit.rockbox.org/421
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
| |
|
|
|
|
|
|
|
| |
Prevents the player from moving an instadropped block (could happen
before the next game tick when using left/right buttons anticipatorily).
Change-Id: Id62168842d8458f864a2e05c5d236f054bf54f65
Reviewed-on: http://gerrit.rockbox.org/473
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
| |
|
|
| |
Change-Id: Ic6ba4b786eef00eab7f20abd5fbf2bcb8977993a
|
| |
|
|
| |
Change-Id: Ia50cd846d5451b0cb5cf3a6f8097ea9fe3b3c60a
|
| |
|
|
|
|
|
| |
The code was pretty broken with regard to the handle management of radio art
images, e.g. passing the wrong data to bufopen().
Change-Id: I3480f40bce81af05d14dbf045a78485c857fb261
|
| |
|
|
|
|
|
|
|
|
|
| |
This logic checks whether the skin's albumart dimensions differ from the
previous skin to force rebuffering if necessary. This was broken since
a while as the necessary information was reset.
Change-Id: I3b9f3a819c6af202af8ad66c13742f704ce45ab1
Reviewed-on: http://gerrit.rockbox.org/476
Tested-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
| |
|
|
|
|
|
|
|
| |
Based on all other references, unknown_file.color is a color, not an
index into custom_colors[]. Previously, custom_colors[-1] was returned
for files without an extension, accessing outside array boundaries
and making files without an extension black, which is hard to see.
Change-Id: Ia0883aba929582324b767df7828a36a84c0b36b9
|
| |
|
|
| |
Change-Id: I13847b99d9aeaa05efa5b22a8e4842f193f01a3c
|
| |
|
|
|
|
|
|
|
|
|
| |
Further decouples voice_thread.c from other playback areas. Also allows
other audio sources, such as FM radio, to be attenuated when voice is
playing by implementing a callback.
Defined as another playback event rather than a new event class:
PLAYBACK_EVENT_VOICE_PLAYING
Change-Id: I2e3e218be6cd6bebbf39e7883a8c0e4ed42b62bb
|
| |
|
|
|
|
| |
SIM should work like target, sort of, when recording is initialized.
Change-Id: I12314bb98cec53d574f4b25984ef803b2c038a96
|
| |
|
|
|
|
|
| |
What was I thinking? Anyway, it's a little nicer and it's reserved so
shouldn't end up as a case value anywhere.
Change-Id: If745c24951518608e3f4fc51f7419ef07d7cf2ac
|
| |
|
|
|
|
|
|
|
|
| |
Playback needs to receive a couple of settings-related messages even
when not playing.
Put the message reply back where it was when loading an encoder for
recording.
Change-Id: I8cc80f46e42a0afd119991d698510e1ebef38ead
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Eliminates the pcmrec thread and keeps playback and recording engine
operation mutually-exclusive.
audio_thread.c contains the audio thread which branches to the
correct engine depending upon the request. It also handles the main
audio initialization.
Moves pcm_init into main.c just before dsp_init because I don't want
that one in audio_init in the new file.
(Also makes revision df6e1bc pointless ;)
Change-Id: Ifc1db24404e6d8dd9ac42d9f4dfbc207aa9a26e1
|
| |
|
|
|
|
|
| |
It should not access audio hardware and change settings unless it has
been initialized first and given control of it.
Change-Id: I5004602d7caa604ded751f6838b792d1ff24b3fb
|
| |
|
|
| |
Change-Id: I1258ba50dd9308f49d97965562f3a423c9bfb785
|
| |
|
|
|
|
| |
Yep, nope, not necessary anymore. Just call functions directly.
Change-Id: I21dc35f8d674c2a9c8379b7cebd5613c1f05b5eb
|
| |
|
|
|
|
|
| |
Boost only for tests and unboost immediately afterwards. It was leaving
the CPU boosted after exiting.
Change-Id: I010c4b975bd27e8990dc057ddd244dab233411ca
|
| |
|
|
| |
Change-Id: I79aadc958fd5222f26f91ed127f8c6fb2c465dc2
|
| |
|
|
|
|
|
|
| |
DSP_SWITCH_FREQUENCY has been deprecated and the same enumerated value
as DSP_SET_FREQUENCY since major DSP revisions were committed. This
task should have been performed much earlier but, oh well, do it now.
Change-Id: I3f30d651b894136a07c7e17f78fc16a7d98631ff
|
| |
|
|
| |
Change-Id: Ifab5276fa746d7c989913428a30d408987ee23f4
|
| |
|
|
|
|
|
| |
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d
Reviewed-on: http://gerrit.rockbox.org/456
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* SOUND_x enum can be generated by audiohw_settings.h along with settings
entries and sound_val2phys.
* VOLUME_MIN and VOLUME_MAX are no longer necessary within sound.c. If
you need them, they are for target-defined purposes.
* Fix up SDL volume implementation in sdl.c. Move sim volume calculation
code to pcm-sdl.c.
* Min trigger tresholds were based upon VOLUME_MIN for some reason.
These setting have nothing to do with playback volume. Since it is no
longer present, set these at -89dB which is the minimum peak meter
sensitivity setting.
* Fix an oversight in wm8758.c. I forgot to add the dB->register
conversion to audiohw_set_volume.
Change-Id: Ie1df33f1793eee75e6793f16bc7bddd16edb7f75
|
| |
|
|
|
|
|
|
|
|
|
| |
If disposal method is set to BACKGROUND one would expect that
canvas should be restored to global background color. That is
what gif standard suggests. Most (all?) decoders however treat
this as reseting canvas to transparency or fixed, decoder
specific background color. Virtually all gifs are prepared with
this in mind so to not break them we can't follow standard here.
Change-Id: I90ca712bba89d4190771eb5320eabda353d3e2bb
|
| |
|
|
|
|
|
| |
It bloats to much just for one simple use. Just use a simple function
for shifting sound setting decimal places.
Change-Id: I1a7d37cce6ada3c6e6600dc0d301f354ffeff231
|
| |
|
|
| |
Change-Id: Idf45731dc6554954747f6036dc6dfcd4b63981a1
|