Commit graph

140 commits

Author SHA1 Message Date
Dominik Wenger
26826b5ae5 rbutil: move bootloaderInstall object creation switches to bootloaderInstallBase .
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25882 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 18:18:43 +00:00
Dominik Wenger
8e2ebc1068 rbutil: fix compiling on windows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25833 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 19:35:37 +00:00
Dominik Riebeling
34e60dde60 Handle device name resolving failures.
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
2010-04-27 21:43:14 +00:00
Dominik Wenger
b6e1f1c0ad Fix talkfile generation for files starting with . and having no extension.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25742 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 21:09:14 +00:00
Dominik Riebeling
5185d9e30a Log failures in mountpoint resolving, log filesystem formats in mountpoints().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25718 a1c6a512-1295-4272-9138-f99709370657
2010-04-25 21:22:36 +00:00
Dominik Riebeling
1cc1f4ee77 System Info: display OS X version number and architecture too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25442 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 21:32:51 +00:00
Dominik Riebeling
9fedc8187f Move utils.cpp functions into separate class and split it up.
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
2010-04-02 21:24:19 +00:00
Dominik Riebeling
b470303311 Implement system proxy values retrieval on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25439 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 19:22:32 +00:00
Dominik Riebeling
d6543b71af Fix leaking file descriptors on error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25431 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 22:06:52 +00:00
Tomer Shalev
f598a7baef rbutil: Make strings translatable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25409 a1c6a512-1295-4272-9138-f99709370657
2010-03-31 20:11:12 +00:00
Dominik Wenger
11c9be9c83 Fix Festival tts engine.
Author: Delyan Kratunov
Flyspray: FS#11155 part2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25402 a1c6a512-1295-4272-9138-f99709370657
2010-03-30 17:45:23 +00:00
Dominik Riebeling
630281a088 Remove unnecessary class declaration, this should come from the includes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25319 a1c6a512-1295-4272-9138-f99709370657
2010-03-24 18:45:08 +00:00
Dominik Riebeling
9db98bb864 Fix bootloader files vanishing after installation (FS#11086).
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
2010-03-15 21:21:04 +00:00
Dominik Riebeling
a4caff91f9 Respect the exit code of external encoder called.
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
2010-03-12 21:52:25 +00:00
Dominik Riebeling
b4401e589e Implement speed adjustment for OS X TTS.
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
2010-03-11 20:09:22 +00:00
Dominik Riebeling
897e041900 Code police.
- remove tabs.
- remove trailing spaces.
- break overly long lines.
- fix indentation errors.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25008 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 22:26:00 +00:00
Dominik Riebeling
8c8703038b Refactor device tree setup a bit.
- 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
2010-03-01 22:45:17 +00:00
Dominik Riebeling
495edfb7b9 Add support for OS X' Speech Synthesis Manager TTS system.
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
2010-02-28 20:19:54 +00:00
Dominik Riebeling
dd0a571c49 Use the data partition device node when trying to resolve the mountpoint.
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
2010-02-27 11:27:13 +00:00
Dominik Riebeling
b1cc087a67 Be more strict when when resolving devices and allow hfs too.
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
2010-02-20 22:46:58 +00:00
Dominik Riebeling
7709113b6a Add missing class prefix to logging call.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24801 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 22:46:55 +00:00
Dominik Riebeling
7f33b7d9fa Recognize and handle MacPods during autodetection.
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
2010-02-20 22:11:11 +00:00
Dominik Riebeling
5998a5507d Update an outdated comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24798 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 22:11:08 +00:00
Dominik Riebeling
773de4a150 If the Ipod has been recognized as MacPod always consider no bootloader installed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24797 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 22:11:04 +00:00
Rafaël Carré
8b1bbdb013 rbutil: link to the Sansa forums when the user is requested to download a Sansa AMS firmware
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24778 a1c6a512-1295-4272-9138-f99709370657
2010-02-19 23:45:29 +00:00
Rafaël Carré
b6c20c17e4 mkamsboot: prevents 2 potential problems
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
2010-02-19 14:10:26 +00:00
Dominik Riebeling
4c9fc9cb7e Fix problems with platform retrieval.
- 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
2010-02-12 20:38:17 +00:00
Dominik Riebeling
22056a9c37 Don't close the disk handle to the ipod too early.
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
2010-02-11 22:19:34 +00:00
Dominik Riebeling
a9ab407f84 Add option to show disabled targets in the configuration dialog.
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
2010-02-04 21:10:20 +00:00
Dominik Riebeling
b659936ca5 Give the user a hint on where find the required bootloader file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24441 a1c6a512-1295-4272-9138-f99709370657
2010-02-01 20:30:22 +00:00
Dominik Riebeling
ea4130fd2d Extend SystemInfo to allow distinguishing between platforms and variants.
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
2010-01-31 21:57:45 +00:00
Dominik Riebeling
1c6cada297 Fix typos in messages.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24419 a1c6a512-1295-4272-9138-f99709370657
2010-01-31 15:06:45 +00:00
Dominik Riebeling
4239273108 Minimize unnecessary accesses to SystemInfo and RbSettings.
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
2010-01-29 22:46:40 +00:00
Dominik Wenger
6128bd14e9 rbutil: split RbSettings. use Stable/unstable status from server.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24331 a1c6a512-1295-4272-9138-f99709370657
2010-01-24 21:12:11 +00:00
Dominik Riebeling
12dd944d9b Respect default values for ServerSettingsList as well. No idea why I missed that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24326 a1c6a512-1295-4272-9138-f99709370657
2010-01-24 19:24:56 +00:00
Dominik Riebeling
329ea014e8 Store server info in RbSettings volatile in a QMap instead of putting it into the user settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24312 a1c6a512-1295-4272-9138-f99709370657
2010-01-21 17:50:47 +00:00
Dominik Riebeling
f18b9d9d78 Make parsing the server date locale independent also for asctime and RFC850 representation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24302 a1c6a512-1295-4272-9138-f99709370657
2010-01-20 22:48:11 +00:00
Dominik Wenger
8363619e66 rbutil: store the info from the server centrally in RbSetttings. Dont download build-info multiple times. Rename install.cpp
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24301 a1c6a512-1295-4272-9138-f99709370657
2010-01-20 22:18:36 +00:00
Dominik Riebeling
92042548a2 Make Rockbox Utility build again and make some strings translatable. Break some long lines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24293 a1c6a512-1295-4272-9138-f99709370657
2010-01-19 23:16:43 +00:00
Dominik Wenger
8d29cadaa1 rbutil: add a few qDebug outputs, to better track the install process in BootloaderInstallAms.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24288 a1c6a512-1295-4272-9138-f99709370657
2010-01-19 21:59:25 +00:00
Tomer Shalev
294b017cd1 Revert r24174 following the discussion on mailing-list
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24213 a1c6a512-1295-4272-9138-f99709370657
2010-01-10 17:13:32 +00:00
Dominik Riebeling
2895b659c8 An ellipsis is always exactly three dots, not two.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24177 a1c6a512-1295-4272-9138-f99709370657
2010-01-04 19:24:25 +00:00
Dominik Riebeling
68fa655dc4 Make strings better translatable by allowing to change the position of the dynamic part.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24176 a1c6a512-1295-4272-9138-f99709370657
2010-01-04 19:23:07 +00:00
Tomer Shalev
86c1360169 rbutil: Fix some messages
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24174 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 20:17:36 +00:00
Dominik Riebeling
3e0e14b592 Remove scanning for Ipod from Ipod bootloader installation and clean it up a bit. The Ipod is specified by its mountpoint, so there is no need to scan at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24056 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 21:54:07 +00:00
Dominik Riebeling
b283967ebd Use QLocale::toDateTime() for parsing the date instead of QDateTime::fromString(). Fixes server timestamps not parsed correctly on systems with a non-english locale.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24017 a1c6a512-1295-4272-9138-f99709370657
2009-12-15 21:58:07 +00:00
Dominik Riebeling
bd62c853d4 Fix Ipod Video 64MB workaround for rockbox-info.txt detection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24013 a1c6a512-1295-4272-9138-f99709370657
2009-12-15 21:10:32 +00:00
Dominik Riebeling
03246172b8 Fix "Warning: Signals cannot be declared virtual" for progresslogger when building with Qt 4.6.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23848 a1c6a512-1295-4272-9138-f99709370657
2009-12-04 21:33:25 +00:00
Dominik Riebeling
38dde55c27 FS#10100: Wait for the system to remount the player after bootloader installation.
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
2009-11-22 22:13:25 +00:00
Dominik Riebeling
46e56582b0 Fix Sansa bootloader installation on OS X.
- 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
2009-11-22 21:03:07 +00:00