Improve tracing of device name resolving. Explicitly fail if resolving the
device name from the mountpoint failed during ipod / sansa bootloader
installation. Fixes bootloader installation trying to use an empty device name
in some cases which can happen if the mountpoint to get resolved uses an
incompatible file system.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25743 a1c6a512-1295-4272-9138-f99709370657
Move class-less functions in utils.cpp into a new Utils class and make the old
functions static. This prevents clashes with system C functions. Rename some
functions to avoid macro problems (check() is a macro on OS X). Split out the
RockboxInfo class into a separate file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25441 a1c6a512-1295-4272-9138-f99709370657
QTemporaryFile creates temporary files, so they might get removed even if they
are renamed. Copy the downloaded temporary file instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25208 a1c6a512-1295-4272-9138-f99709370657
Return an error if the exit code differs from 0. Fixes voice file creation
getting displayed as successful even if encoding didn't work (f.e. due to wrong
command line parameters set in the configuration dialog).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25138 a1c6a512-1295-4272-9138-f99709370657
Note that some voices don't support speed adjustment. These voices will ignore
the selected value. The current implementation doesn't mark those voices in any
way.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25125 a1c6a512-1295-4272-9138-f99709370657
- reorder value retrieval (display names etc) to cut down the number of
necessary accesses. While this is not critical it cuts down the noise
generated in the trace noticably.
- match the old target by its internal name instead of the display name.
- remove two access functions in SystemInfo that are not really needed anymore.
Accessing the values via platformValue() is much more logical and in line with
the rest of the value accesses.
- try to scroll to the selected item in the device list after setup and
detection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24988 a1c6a512-1295-4272-9138-f99709370657
This adds basic support for using the OS X' TTS system. The current
implementation does only support selecting the voice itself, no further
settings (like speed pitch / speed) adjustments are implemented. As OS X' TTS
system wants the strings to get spoken in 8 bit encoding problems with locale
combinations are possible. For this better error handling in the rbutil TTS is
needed. The voice test button in the configuration dialog reacts pretty slow
due to the way its speaking is done. This can get changed but also requires
adjustments in the rbutil TTS system.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24979 a1c6a512-1295-4272-9138-f99709370657
The stricter matching for device nodes introduced with r24802 broke resolving
the mountpoint during autodetection as sansapatcher and ipodpatcher return the
device node of the player instead of its data partition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24936 a1c6a512-1295-4272-9138-f99709370657
On OS X HFS is a valid filesystem on an Ipod. When resolving device node to
mountpoints and vice versa also check mounts of hfs partitions. This results in
trying to install the bootloader on a MacPod to show the (intended) MacPod
warning instead of failing with a "could not open ipod" error because no valid
device node could be retrieved. Also, be more strict on matching to prevent
problems with one name being a subset of another.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24802 a1c6a512-1295-4272-9138-f99709370657
Previously MacPods were detected but the mountpoint can't get resolved due to
the different partition layout, thus having a MacPod would only detect the Ipod
itself but not the mountpoint. Rockbox does not support MacPods, so inform the
user as soon as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24799 a1c6a512-1295-4272-9138-f99709370657
We checked if the new firmware block (bootloader+ucl function+packed
bootloader & OF) fit in the OF file, but not if it would run properly.
For example the Clipv2 OF is bigger than 0x50000 bytes uncompressed, but
it fitted in this space when packed and concatenated to a packed
bootloader + ucl function and dualboot code (but we use 1MB of RAM and
not 0x50000 anyway).
Now we check that both bootloader and OF are small enough to be unpacked
at runtime: the unpacked data must be smaller than available memory and
not overlap with ucl function and packed data (although the unpacked and
packed data could probably overlap a bit, I don't know how to calculate
this and this could be quite complex).
total_size() is replaced by check_sizes() which will perform all the
checks and set an error string if the firmware can't be patched.
(both mkamsboot and rbutilqt modified accordingly)
The second problem is that dualboot.S assumed r3 and r5 were left
untouched in the device specific checks. This was undocumented and very
error prone when modifying these checks.
r3 is the last byte of packed copy (bootloader or OF)
r5 is the entry point of uclunpack function derived from r3, so move r5
calculation after the device specific code.
Even if r3 is currently unused in the device specific code, we store it
in memory after copying the ucl function, when it points to the last byte
of packed data (not yet copied at this point since we didn't chose if we
boot the OF or the bootloader), and restore it just before using it so no
restriction is placed on registers usage in device specific code.
Add a new variable ucl_dest in dualboot.S set by mkamsboot.c, which
represents the last bound of buffer where we copy the ucl function, and
then the packed data (bootloader or OF).
RAM_SIZE definition is moved from dualboot.S to mkamsboot.c new
model_memory_size(), where it is a bit better documented.
Tested on e200v2 and Clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24772 a1c6a512-1295-4272-9138-f99709370657
- handle disabled platforms also for for variant and base groups.
- make variant detection more strict to prevent variants that are a substring
of other variants to match. Happened e.g. for iriverh10 and iriverh100.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24625 a1c6a512-1295-4272-9138-f99709370657
ipodInitialize() is not supposed to close but only to open the disk handle. Fixes a segfault when trying to install the ipod bootloader on windows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24608 a1c6a512-1295-4272-9138-f99709370657
Note that disabled targets support is not intended for use by end users.
This is to make development (and testing of svn) easier and should get
disabled for releases.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24513 a1c6a512-1295-4272-9138-f99709370657
Doing so removes the need to loop over all targets to fill in values for
target variants in ServerInfo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24427 a1c6a512-1295-4272-9138-f99709370657
With the separation of the SystemInfo values accessing all the values
will create traces, making them rather noisy due to unnecessary multiple
accesses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24373 a1c6a512-1295-4272-9138-f99709370657
OS X requires to unmount the player during bootloader installation on Sansas / Ipods. The system remounts the player automatically after a short while.
Not waiting for the system to remount the player will result in a changed mount point, making the small / full install write the main build to the wrong
location.
This currently waits up to 60 seconds for the player to get remounted until it errors out. This value seems to be sufficient, if it's not please report
so we can adjust it. Also, the waiting can't be interrupted right now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23716 a1c6a512-1295-4272-9138-f99709370657
- adjust the regex to figure the correct drive from the partition name.
- move the check for an old bootloader into the first installation step -- it's a fatal problem so it should appear as soon as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23715 a1c6a512-1295-4272-9138-f99709370657