Displaying the fonts as you select them is nice but IMO pretty wasteful
I think a few static bitmaps would probably suffice
I however don't feel like addressing this so lets just disable it, for now?
Change-Id: I882cc0c4129e99d8b2f4ac135301dc3906340bb7
The issue was the false case returning NULL for children elements
instead just ignore the false branch for everything but
SKIN_TOKEN_SUBLINE_TIMEOUT_HIDE
Change-Id: Ie0f4f51646faf116e563ab7e60d52d18759f4220
When Waveform mode was active, frequency changes during playback
(if set to "auto", or with USB audio active) weren't picked
up
Change-Id: Iebec7db951312b7dacff850e9554e1d06762ab3a
Also show current mixer frequency in title of VU meter,
and adjust the menu title from "VU Meter Menu" to just
"VU Meter"
Change-Id: I5bf8f55a3c9874618cac939fe32a611ac96f52ff
Despite the fact that CE-ATA specifies a minimum logical sector size of
4096 bytes, the low-level tranfer command arguments are specified in
units of 512 bytes. So scale the sector count up and the LBA down.
On CE-ATA devies, the partition table and filesytem is formatted with 4K
logical sectors, so this will be safe.
Change-Id: I959f21f9c72a68ac28aa611d06f8517ca77f0a8c
Early 6th gen ipods (80GB and 160GB "fat") are limited to LBA28
which results in a hard upper limit of 128GiB on the storage size.
The later 120GB model also shares this limitation. These are identified
by HwVr of 0x00130000 and 0x00130100, respectively.
The final revision of the iPod Classic series (160GB "thin") does not
have this limitation, and can be identified by a HwVr of 0x00130200 or
0x00130300.
This is strictly an issue with Apple's stock firmware, and not the
hardware, and Rockbox will happily utilize the full capabiltiies of any
installed storage device. Unfortunately, if you boot into the stock
Apple firmware, said firmware will destructively trash the partition
table and filesystem.
Consequently, the Rockbox bootloader will now check if the installed
drive requires LBA48, making sure the flashed firmware also supports
LBA48. If not, we will disallow booting into the OF (including disk mode)
altogether. This check can be overridden by holding down LEFT, at which
point you get to keep all the pieces.
Note: While Apple never released firmware without these limitaitons on
the older models, there is a way to update to update these to the newer
firmware. This requires altering the stored HwVr, so it is safe to use
the HwVr as a proxy for the installe firmware capabilities.
Change-Id: Icdd5754f2a3d38c6de67fc7565fabc7aa20f19b3
We were passing a utf8 byte sequence into a function expecting
the actual codepoint value.
...This bug has been around approximately forever.
Change-Id: I3f1d8b2508e7fc830ad9ed10bca3c3329c96851c
FiiO M3K - you have to hold up or down before the pieces will rotate
AFAICT the scrollpad on the m3k is being presented as a scrollwheel
and it waits for 3 events before enabling rotation.
This behavior is blocking the user presses till you get a repeat event
Fix:
Enable the scrollwheel at start for the m3k (and m3k linux)
Change-Id: Ic36048dae6f691e9085ab37ffbf67be07c2035ac
This bug was found and located by a forum user, see
https://forums.rockbox.org/index.php/topic,54776.0.html
The old code used the FB_SCALARPACK macro which doesn't
respect swapped byte order.
Using FB_RGBPACK fixes it and furthermore makes the
fb.cc[] array superfluous.
I added a small optimization for 16 bit targets, since
the gameboy colors almost fit perfectly (5 bit per color).
Change-Id: If96b3943cb4ab902b880ff3d471add25e138fe8e
Default MMC block size is 512B, and the DMA block size must equal
the MMC block size. As we do not negotiate a larger block size,
scale the transfer count up to match the drive's logical sector size.
(CE-ATA mandates a *minimum* sector size of 4K)
Change-Id: I701cbac5c0fa320e8d38ea3333d99257b9b1f560
The DMA xfr size was fixed at 512 bytes, but the count was specified
in terms of the logical sector size (ie 4096 bytes).
Make the DMA size line up with the sector size.
Change-Id: Id9d0088b12775223f8d888f21b19e17c97927570
These are taken from the 0.9.9 upstream release, as upstream 0.9.9.8 did
not include the bold variants.
Change-Id: I38500d0e57965a465a9ae70fcc8624af8505333e
The ticket attached v0.9.9, but the files committed are from upstream's
final 1.0-RC1 release (0.9.9.8).
Not committed are the BOLD variants from the ticket, as it's not clear
where they were sourced from (and they lack the updates from .8)
Change-Id: Idc98b964deae629eb812754ea161056ac7cf92c2
Show this in in the info dump when we can't find a filesystem to mount
in main() plus in the ipod bootloaders
Change-Id: I3b437ae0032b17f29c0dd94043743f14d2b2f3ad
The goal of this was to have the ipod6g's ata driver report
proper vendor/model information from storage_info()
Change-Id: I64c1aee87c817cac23c90e062333a4ba3545dfaf
Needed due to us commandeering the AUDIO DSP "channel" for USBAudio.
If/When we add another DSP channel, this can be reverted.
Works, but still goes to a "blank" WPS screen for a split second before
cancelling out.
Change-Id: I5fb8a1e226b4d3e46c86c59d593d807f49d7a35f
Does not seem to affect UI usability, but allowable DSP loads will vary
based on device and playback sample rate.
To-Do (someday):
- Add dedicated DSP channel
- How to apply DSP settings to above new channel? (UI)
- How to lock out timestretch from being enabled?
Change-Id: Ia24d1055340354e2c32e6008e7e2b03a8e88867d
Add feedback not based on samples used, but on buffers filled - idea
being we can do "PID" (someone who has actually implemented Real PID
could probably rewrite the calculation) based on how many buffers
we have filled versus the ideal buffer filled level (16).
Feedback is based on a historical average of the last two feedback
intervals.
This feedback math is done as fixed-point math to keep floats out of core. Note that a couple division operations needed to be strategically staged to avoid overflow or truncation.
Floats are still used for debug screen printout.
Also fixed a typo in the definition of usb_audio_control_request()
Host:
Linux: works
MacOS: works
Windows: Feedback does not work! It appears that Windows may not
support asynchronous devices at all. Playback may "work",
but results will vary as the number of buffers filled will
drift over time.
Change-Id: I027feb16705e6e46c1144b1d08920b53de42cb26
Original commit credit to Amaury Pouly, Moshe Piekarski
Pushed across the finish line by Dana Conrad
To enable, see setting under General Settings --> System --> USB-DAC.
On devices with few endpoints, this may not work while HID and/or
mass storage is enabled.
Adds new dedicated mixer channel.
setting usb-dac can have values:
- never (0)
- always (1)
- while_charge_only (2)
- while_mass_storage (3)
Relevant devices are DWC2 and ARC usb controller devices. That being:
x1000 Native targets (m3k, erosqnative, q1, others...?),
sansac200, creativezenxfi2, vibe500, ipodmini2g,
ipod4g, creativezenxfi, creativezenxfi3, sansaview, ipodcolor,
creativezenxfistyle, samsungypz5, sansafuzeplus, iriverh10_5gb,
tatungtpj1022, gigabeats, faketarget, samsungyh820, gogearhdd1630, samsungyh925, ipodmini1g, ipodvideo, creativezenmozaic, sonynwze370, creativezen, gogearsa9200, gogearhdd6330, sonynwze360, sansae200, mrobe100, iriverh10, creativezenv, ipodnano1g, samsungyh920
USB Driver-wise, it should be noted that this patch requires some
slight changes:
- proper blocking on control OUT transfers, to make sure the data is
received *before* using it, the usb_core should probably use that too
- drivers can now support interface alternate settings
- drivers can be notified of completion by a new fast handler, which
is called directly from the driver; this is is necessary for
isochronous transfers because going through the usb queue is way too
slow
Designware changes:
- enable for USBOTG_DESIGNWARE
- set maxpacketsize to 1023 for ISO endpoints
Change-Id: I570871884a4e4820b4312b203b07701f06ecacc6
Cut off only happens in pdf output (fixed column width), not html.
Add \tabnlindent in favor of spaces in some places for consistent
display of multi-line-tag-parameters.
Change-Id: Ie2d4196da9fcd02af5e3ff72dcc9a97ae2d25303
Version 1: this patch prolongs startup time by 2 seconds, because the
sleep happens early before other threads have started.
The patch is tested on CreativeZEN and Fuze+.
The datasheet was not very helpfull, so some experimentation was needed.
I came to the following conclusions:
* setting HP to ground:
to prevent popping noises, the headphone output can be set to ground.
This however must be done before any part of the audioout module is
powered up (setting HP to ground itself will lead to a pop otherwise).
This consequently means that HP must NOT be set to ground for powerdown
sequence!
Further study showed that setting HP out to ground has no audible benefit,
controversly not setting/resetting allows for noiseless RoLo-ing.
* headphone amp class A/AB mode:
initially the HP amp is in class A mode, and should be set to
class AB before playing audio, as the datasheet mentions.
If the HP output is set to ground, it must be released BEFORE
setting class AB! Releasing from ground while in AB mode leads
to a very loud pop!
* release HP from ground:
as said before: never release the HP from ground if the HP amp is
set to class AB mode. Therefore the correct order is to power up the
headphone amp, wait some time, release HP from ground, and then
set the amp to class AB mode.
To prevent pop, some time is needed before releasing the HP from gnd.
On CreativeZEN 2 sec seems to be ideal; 1 sec have no audible effect,
1.5 sec softenes the pop to some degree.
* shutting player off
The popping noise when shutting off is much quieter that on power up,
so depopping measures are not absolutely necessary.
However the power off pop can be silenced by inserting a wait time
after the audioout block is closed and before the rest of the chip
is powered down. The longer the better, a time of 5 sec practically
eliminates the pop.
Note that RoLo-ing can still produce noise, because the audio device
is not properly shut down.
Change-Id: Ib20e1d613b346433d2a711c442e303ededc26e78