Commit graph

271 commits

Author SHA1 Message Date
Dominik Riebeling
1a4a934d5e Don't poll SAPI script output.
Wait for the process to signal new data available instead of polling its
output. Fixes synchronisation issues with sapi_voice.vbs that were causing
FS#12595.

Change-Id: I86e844e837ed20f32005fdccf7ec9e8c1efbe983
2012-02-22 22:34:37 +01:00
Dominik Riebeling
cfae625a73 Implement findProcess() on OS X.
Change-Id: Iec5e91f1c8c08a58a19f79339d03247148347d45
2012-02-21 20:02:48 +01:00
Dominik Riebeling
2d7a4e9dfa Fix RockboxInfo() not handling git hashes correctly.
With the transition to git the assumption of the version starting with "r"
isn't true anymore for non-release builds. This caused the wrong strings to be
used when constructing various download URLs.

Remove the test binary which was never intended to be added and fix some
warnings in the test implementation.

Change-Id: I879fdff201cb85f3c89cca73ab6a0514edb5a2df
2012-02-19 17:44:35 +01:00
Dominik Riebeling
a56f4425c6 Allow overriding filename for rockbox-info.txt.
This allows testing the class by using temporary files without the need of
constructing a special path.

Change-Id: Id5ccd37f05219f246b9bf9f8a26ec81342654f89
2012-02-19 14:12:22 +01:00
Dominik Riebeling
f1eedb80a2 Don't try to save settings if none available.
Fixes a crash when leaving the encoder settings dialog with the Ok button but
the dynamically loaded library missing, in which case no settings will be
available.

Change-Id: I889a0bbcde6bed2df658b5df57341edf6802daad
2012-02-06 22:35:08 +01:00
Dominik Riebeling
3e0f2b3e1c Use relative paths to quazip includes.
Shorten the include list a bit by using relative paths.

Change-Id: I91fa7b292179c9f8cd0c257ef9b8d26bca34963b
2012-01-29 22:55:18 +01:00
Dominik Riebeling
7d8db0a6ff findExecutable(): cleanup log output a bit.
Change-Id: I217bddc91ff9ea43a5cfc018818f5a19b1555dd9
2012-01-29 22:55:18 +01:00
Dominik Riebeling
4105c82e6b Centralize settings for executable based TTS systems.
The configuration values for executable based TTS systems is stored in member
variables. Instead of reading them multiple times provide a function for that
and move searching the executable to the loading function.

Previously the executable was only searched in the path when opening the TTS
configuration. Having this in the loading function removes that unnecessary
step in case the TTS is in the path (and doesn't require additional
configuration).

Change-Id: I06799b55545dcb719ee3c916795b20e01c248a15
2012-01-29 22:55:18 +01:00
Dominik Riebeling
0ae49c2719 Separate default quality setting for encoders.
Instead of having a global quality setting for the encoder make the encoder
provide its default value by itself. Fixes the libmp3lame encoder using an
unsuitable value since the range differs greatly between the encoders.

Centralize reading the configuration values for rbspeex. The values are stored
in member variables, so it's not necessary to read them multiple times.

Change-Id: Ia26cb1fc3bb4f927d13212fe7883bdfe2571a711
2012-01-29 22:55:18 +01:00
Dominik Riebeling
933a674891 libmp3lame: add quality and volume settings.
Change-Id: I220526f071dadc69791e5bf6d23cfce2bf9ba045
2012-01-29 22:55:18 +01:00
Dominik Riebeling
250a73317f Check running processes at startup.
Retrieve the processes running at startup and compare with a list of
potentially problematic ones.  Right now this is Itunes which is known to be
able to cause problems when trying to install the bootloader on an Ipod. No
user notification yet.

This adds the implementation for Windows.

Change-Id: I5ce8a85da52e0ed8f523b5ae6fb5d8f14f6a14c9
2012-01-22 22:26:01 +01:00
Dominik Riebeling
61047e1561 Fix a typo.
Change-Id: I32a0d202385f025e0f450f7ba2fba5b6334d8f39
2012-01-17 22:11:32 +01:00
Dominik Riebeling
b18bbabc91 Fix unused-but-set warnings in helper functions.
Instead of storing the return value and ignoring it use it directly to check if
an error occured. Addresses FS#12542.

Change-Id: I447afa006366acfd1851d5b13cae5f1561050283
2012-01-17 22:03:42 +01:00
Dominik Riebeling
633749ea61 TTS: check if created wav file exists.
Instead of simply assuming the wav file that is supposed to be created by the
TTS engine check if the file actually exists and return an error if not.

Change-Id: I9e4a85a061b44b48931614602683b1dfe7dfce67
2012-01-17 20:19:59 +01:00
Dominik Riebeling
b45cc0a13a Support reading OF files from zip.
Several devices require the original firmware to be able installing the
bootloader. Most vendors distribute the firmware file in zip format. Extend
reading the original firmware file to support reading the file from the zip
directly instead of requiring the user to separately extract it.

Change-Id: Ic4e89053456d8f7d6adc294f6657aceddbc354ba
2012-01-15 23:32:15 +01:00
Dominik Riebeling
9db5c124af Fix wavtrim on voicefile creation.
Pass the threshold value for wavtrim to the TalkGenerator object instead of
using the default value. Makes wavtrim to be actually used.

Furthermore, check the result of the wavtrim call and respect its return value.
2012-01-15 12:30:03 +01:00
Dominik Riebeling
820dcfdfed Remove multithreading support from voicefile creation.
Running TTS and encoders with multiple threads is causing problems on Windows
since introduction of the feature (FS#12106, FS#11994). The current
implementation also makes wrong assumptions (having multiple threads talk to
the SAPI script doesn't make it run faster since it's still one thread
responsible for creation).

Completely remove multithreading support for that for now -- a different
implementation is necessary.

Change-Id: Icafa223644efc370a09186ce28ac83c22902e0c0
2012-01-14 16:37:01 +01:00
Dominik Riebeling
42fa2a8d0f Improve error handling and logging.
- Fix a warning
- Log an error if the file to encode cannot be read.
- Adjust some log strings.
2012-01-14 12:14:49 +01:00
Dominik Riebeling
f1fc6bae25 Rockbox Utility: use libmp3lame for voice clips.
Instead of calling the lame executable use libmp3lame directly. As result, this
simplifies the prerequisites for creating voice clips for Archos devices to
putting the library in the system's search path (Windows: put libmp3lame.dll in
the search path or the same folder RockboxUtility.exe is located in. Linux:
install the library using your systems package manager) and configuration.

This creates a notable encoding speedup on Windows (around factor 6 on my test
setup) and a small speedup on Linux (around factor 1.2).

The implemenatation currently has the following limitations:
- Only enabled on Windows and Linux. On OS X installing the correct dylib is a
  bit nontrivial, so using the old command line based method is still in use
  for now.
- The encoder parameters are currently hardcoded to use the same values the
  build system uses.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31634 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 11:50:04 +00:00
Dominik Riebeling
3e014d3523 Fix wrong includes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31633 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 11:49:57 +00:00
Dominik Riebeling
959432d728 Fix typo in comment.
Thanks to fml for noticing.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31595 a1c6a512-1295-4272-9138-f99709370657
2012-01-06 20:45:36 +00:00
Dominik Riebeling
be0e197190 Split up encoders sources.
Create a separate source / header file for each supported encoder and the base
class and rename classes for better readability. This should also make it
easier adding new encoders.

Remove a few trailing spaces while at it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31592 a1c6a512-1295-4272-9138-f99709370657
2012-01-06 19:19:32 +00:00
Dominik Riebeling
61f999a16e Rockbox Utility: add support for mkimxboot bootloader.
Reworked version of FS#12402 by Jean-Louis Biasini.

Since the mkimxboot process takes quite a while which blocks the UI it has been
adjusted to perform the actual firmware patching in a separate process. Various
other small changes have been made to make it fit better into Rockbox Utility's
dialogs / messages and update the code to latest changes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31580 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 19:19:02 +00:00
Dominik Riebeling
56e1e859ca Extend flashing hint a bit.
Since flashing the firmware is a rather critical process extend the post
installation hint to advise the user of charging the player first.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31579 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 17:52:34 +00:00
Dominik Riebeling
2b04f7bba5 Remove trailing whitespaces.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31545 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 21:48:27 +00:00
Frank Gevaerts
0cb0b50236 Remove duplicate include. Thanks to Jean-Louis Biasini for spottin this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31383 a1c6a512-1295-4272-9138-f99709370657
2011-12-20 20:32:51 +00:00
Dominik Riebeling
5ffd2f7598 Various adjustments for MSVC.
- MSVC uses different namings in some places. Adjust the sources via the
  preprocessor if build with MSVC.
- MSVC doesn't know about __func__, use name instead.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31185 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 21:59:13 +00:00
Dominik Riebeling
38f03d4eae sansapatcher: factor out handling of bundled bootloaders.
Instead of handling bundled bootloaders in the sansapatcher functions leave
that to the caller. This removes the need to have Rockbox Utility specific
parts in sansapatcher. sansa_add_bootloader() now operates on an already loaded
bootloader. For loading a convenience function sansa_read_bootloader() is
added. This also introduces a new check on loading to prevent installing an
e200 bootloader on a c200 (and vice versa).

These changes will allow building a libsansapatcher for linking with Rockbox
Utility later.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31144 a1c6a512-1295-4272-9138-f99709370657
2011-12-04 19:40:43 +00:00
Dominik Riebeling
059cb71c96 Extend return codes for chinachip_patch().
Instead of passing error messages using a callback function (which becomes
awkward when used from a C++ class object) return distinct error codes from
chinachip_patch(). This also removes the kludge to support translations for
Rockbox Utility and moves the strings to translate to the installation class
where they belong.

As a side effect info messages won't be passed to Rockbox Utility anymore, but
the details of the patching progress aren't of that much interest for the user
anyway.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31115 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 09:41:44 +00:00
Dominik Riebeling
8317226ff8 Carbon TTS: Fix a memory leak on read error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30961 a1c6a512-1295-4272-9138-f99709370657
2011-11-10 21:12:07 +00:00
Dominik Riebeling
8f827f10e2 Show user friendly name on target mismatch.
Instead of showing the target name as stored in rockbox-info.txt retrieve the full descriptive name.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30886 a1c6a512-1295-4272-9138-f99709370657
2011-11-01 20:46:46 +00:00
Dominik Riebeling
20edaf67a7 Revert r30869 "Remove buildserver_modelname value."
The buildserver_modelname is still in use, and the commit missed some parts on
removal, causing segfaults on start.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30884 a1c6a512-1295-4272-9138-f99709370657
2011-11-01 19:40:35 +00:00
Dominik Riebeling
10832b8c1c Remove buildserver_modelname value.
Since changing the manual URL creation to be template based this value isn't
used anymore. It's also pretty much the same as configure_modelname, so remove
it completely.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30869 a1c6a512-1295-4272-9138-f99709370657
2011-10-30 19:55:35 +00:00
Dominik Riebeling
7263ccb105 Remove svn keyword lines from sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30806 a1c6a512-1295-4272-9138-f99709370657
2011-10-19 20:51:16 +00:00
Dominik Riebeling
4f56b50df4 Voicefile generation: implement string corrections.
Voicefile generation now can correct strings for the TTS system similar
to what voice.pl does. The current implementation has some limitations:
- only implemented for voicefile creation.
- the corrections file is built in and can't get changed.
- string corrections can be disabled in the configuration dialog.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30628 a1c6a512-1295-4272-9138-f99709370657
2011-10-01 19:48:58 +00:00
Dominik Riebeling
fe3eadffba Rockbox Utility TTS: implement reading TTS vendor.
Support retrieving the vendor name of the TTS. This will be used by TTS string
corrections. Currently no other TTS but SAPI supports this, and only correction
strings for SAPI voices depend on the vendor information.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30609 a1c6a512-1295-4272-9138-f99709370657
2011-09-26 21:28:05 +00:00
Dominik Riebeling
743308e882 Take cluster size into account when calculating zip extracted size.
Allow passing an (optional) cluster size to round up all file sizes when
calculating the total size of an extracted zip archive. This allows to check if
the space on disk is actually sufficient without relying on an arbitrary
headroom value which might be wrong. Addresses FS#12195.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30214 a1c6a512-1295-4272-9138-f99709370657
2011-07-26 20:54:44 +00:00
Dominik Riebeling
60468fe6ac Implement reading the volume label on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30151 a1c6a512-1295-4272-9138-f99709370657
2011-07-17 18:58:05 +00:00
Dominik Riebeling
9c9bc1216c Move some helper functions out of Autodetection.
Those functions are rather general, so put them into the Utils class instead.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30146 a1c6a512-1295-4272-9138-f99709370657
2011-07-17 08:08:58 +00:00
Dominik Riebeling
b7fe90aa36 The mountpoint is stored with normalized separators.
Make sure to convert it on reading to avoid not finding it even if stored with
native separators in the configuration. Fix a warning on Windows.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30145 a1c6a512-1295-4272-9138-f99709370657
2011-07-17 08:08:51 +00:00
Dominik Riebeling
c9f70fe304 Show volume labels on Windows.
In mountpoint selection and system info dialog show the volume name to make it
easier to identify a specific device.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30141 a1c6a512-1295-4272-9138-f99709370657
2011-07-15 20:03:05 +00:00
Dominik Riebeling
21a38713a6 Show the total size of the volume along with the free space.
This should help identifying the correct player by size, since the free space
is only useful to figure if there is enough space to install Rockbox. Change
units to GiB since that is more useful given the size of current devices.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30139 a1c6a512-1295-4272-9138-f99709370657
2011-07-15 18:13:31 +00:00
Dominik Riebeling
dfd4183a7d Fix bootloader uninstallation on Gigabeat F / X.
The "file" bootloader installation method usually can uninstall the bootloader.
Some upgrade methods (like the Iaudio players) remove the bootloader file
placed on the player after upgrading so those can't uninstall the bootloader.
Instead of rejecting uninstallation for all players using this method check the
current bootloader and only display an error if no suitable bootloader is
found (which would happen in the Iaudio case).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30070 a1c6a512-1295-4272-9138-f99709370657
2011-06-25 17:21:01 +00:00
Jens Arnold
91ce4b2a60 Optional dual-boot support in iAudio X5 and M5 bootloader, based on FS#5289.
In order to enable it, #define HAVE_DUALBOOT when building the bootloader.
Do not use the automatically created x5_fw.bin or m5_fw.bin, but use mkboot
to create a new firmware file from an OF x5_fw.bin resp. m5_fw.bin and
bootloader.bin.

The dual-boot bootloader boots the OF when pressing Play (main or remote) for
more than 3 seconds. Hold it a bit longer because the OF also checks buttons.
Short press boots rockbox.

As a bonus, the Play button read (for hold check) is done a bit earlier for
single-boot mode as well.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30018 a1c6a512-1295-4272-9138-f99709370657
2011-06-19 17:23:18 +00:00
Dominik Riebeling
b5feacfaac Fix some gcc 4.6 warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29933 a1c6a512-1295-4272-9138-f99709370657
2011-05-29 19:46:20 +00:00
Michael Giacomelli
6484b45d71 Make the AMS bootloader prompt slightly more specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29870 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 18:35:19 +00:00
Dominik Riebeling
3467ee8ddd Fix SAPI default speed being way too fast.
The settings currently can't differentiate between default values for different
subitems (i.e. different TTS systems). As a result the default value returned
for SAPI speed was way out of bounds, leading to the upper limit getting used.
Work around this limitation by checking the value for bounds and use a sensible
value in that case.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29763 a1c6a512-1295-4272-9138-f99709370657
2011-04-22 18:58:01 +00:00
Dominik Riebeling
c6a8efb8af Implement simple run for non-multithreaded TTS.
Since setting the maximum number of threads to use to 1 causes sporadically
files missing add a simple alternative implementation that doesn't use futures.
This is a stop-gap solution to fix voice files not creating (reported on
Windows with SAPI voices, see FS#11994). Encoding doesn't seem to be affected
by the problem and is unchanged.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29762 a1c6a512-1295-4272-9138-f99709370657
2011-04-22 17:59:43 +00:00
Dominik Riebeling
88e68ec5b0 Make TTS names translatable and change Sapi to SAPI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29759 a1c6a512-1295-4272-9138-f99709370657
2011-04-22 13:32:13 +00:00
Dominik Riebeling
2e990a6827 Use System TTS if none is set.
If no TTS has been selected previously default to the system one if any.
Otherwise use espeak.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29758 a1c6a512-1295-4272-9138-f99709370657
2011-04-22 13:32:04 +00:00
Dominik Riebeling
c7227a7620 Fix a warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29681 a1c6a512-1295-4272-9138-f99709370657
2011-04-05 20:02:07 +00:00
Dominik Riebeling
1c635a8c3c OS X TTS: add pitch setting.
The current TTS configuration doesn't allow querying the system values so it
currently can't be displayed. A value of 0 will use the system default. The
default pitch is dependent on the voice; most voices should have a default
pitch of 45 - 55.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29673 a1c6a512-1295-4272-9138-f99709370657
2011-04-03 09:23:21 +00:00
Dominik Riebeling
746f01dd77 Add capability to speak directly from the TTS engine.
The OS X TTS engine (and likely others) allows outputting its speech directly
to the sound system. This avoids the extra step of creating a temporary file to
play for TTS preview. Currently implemented as TTS capability reported.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29672 a1c6a512-1295-4272-9138-f99709370657
2011-04-03 08:06:59 +00:00
Dominik Riebeling
96fad95bcf Fix a warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29670 a1c6a512-1295-4272-9138-f99709370657
2011-04-02 19:03:50 +00:00
Dominik Riebeling
2f7cf08532 Use template pattern for genlang url.
Instead of hard coding the query part of the genlang url store the full url as
template and replace parts as done for other urls as well.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29669 a1c6a512-1295-4272-9138-f99709370657
2011-04-02 08:59:00 +00:00
Dominik Riebeling
8c1d114dcf Rockbox Utility: Replace OSDaB Zip with QuaZip.
This change fixes problems with zip files created with newer zip utilities (a
known issue is the iLike theme). QuaZip also allows better feedback during
operations without changing the imported code. Additionally Rockbox Utility and
the Theme Editor are now both using QuaZip; currently Rockbox Utility uses a
copy of the sources, merging them later is planned.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29645 a1c6a512-1295-4272-9138-f99709370657
2011-03-25 22:16:12 +00:00
Dominik Riebeling
988b3083df Replace list of languages with map.
- Use ISO codes as keys for voice languages instead of enumeration.
- Instead of trying to select a suitable voicefile language from the UI
  language use the ISO codes stored as UI language and match against the
  mapping.
- Always store the selected UI language. Fixes the voicefile creation
  language lookup to fail if the language used is the system language.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29207 a1c6a512-1295-4272-9138-f99709370657
2011-02-04 23:28:34 +00:00
Dominik Riebeling
90e8815673 Fix crash on proxy detection on OS X (FS#11654).
If the proxy dialog doesn't contain any values searching for the values in the
system returns NULL pointers instead of empty values. Check for them to fix
crashes.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28212 a1c6a512-1295-4272-9138-f99709370657
2010-10-05 19:53:48 +00:00
Dominik Riebeling
51321cc6f8 Improve some trace messages.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28171 a1c6a512-1295-4272-9138-f99709370657
2010-09-26 11:43:34 +00:00
Dominik Riebeling
f75d912d7c Display number of processors in System Info dialog.
Oops: on Windows, ask the system about the values before displaying it instead
of expecting the structure to fill itself.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28107 a1c6a512-1295-4272-9138-f99709370657
2010-09-18 20:50:11 +00:00
Dominik Riebeling
752ce1e6e7 Display number of processors in System Info dialog.
Since Rockbox Utility got support for utilizing more than one CPU / Core
this value might be helpful in case of issues like FS#11496 (QThreadPool
defaults to the number of CPUs found as maximum number of threads).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28106 a1c6a512-1295-4272-9138-f99709370657
2010-09-18 20:41:03 +00:00
Dominik Riebeling
40a6aef0c3 Implement USB VID / PID retrieval using IOKit on OS X.
Instead of using libusb as wrapper query the USB IDs via IOKit. Since libusb is
only used for that this means that it's no longer necessary on OS X.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28001 a1c6a512-1295-4272-9138-f99709370657
2010-09-05 18:19:23 +00:00
Dominik Riebeling
0110e558de Remove Ipod Video 64MB handling.
Since the builds for the Ipod Video 32MB and 64MB are now unified there
is no need to handle them separately in Rockbox Utility anymore.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27966 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 17:47:33 +00:00
Dominik Riebeling
803a0edb58 Fix USB ID retrieval on Windows 7.
The device string containing the USB IDs differs in casing on Windows 7
so always convert to upper case before scanning the string.  Use
DEVICEDESC instead of LOCATION_INFORMATION for the user visible device
string as the latter doesn't show anything useful to the user on W7, at
least for the devices I've tried. Unfortunately DEVICEDESC is less
descriptive than the previously used.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27561 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 19:25:38 +00:00
Dominik Riebeling
10b8e327d8 FS#11439: Fix version comparison regression.
Improve string suffix handling by distinguishing between version number
separators (i.e. dots) and extended separators and additional version
characters. Corrects false update information displayed for 64bit binaries of
Rockbox Utility.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27201 a1c6a512-1295-4272-9138-f99709370657
2010-06-30 21:59:47 +00:00
Dominik Riebeling
e7a536bc1d Don't close libusb device handle if opening failed.
This issue has been pointed out as FS#11420. Redone by myself because the
change is trivial and the submitter didn't state his real name.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27061 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 20:13:39 +00:00
Dominik Riebeling
90bc818696 Log filesystem free value to system trace.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26935 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:46:45 +00:00
Dominik Riebeling
2c6895207d Make System and Utils class based on QObject.
Those classes use Qt objects anyway, and making them based on QObject moved the
strings into the appropriate class when translating.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26931 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:04:06 +00:00
Dominik Riebeling
6e5330f663 Fix source string spelling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26925 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 14:59:23 +00:00
Dominik Riebeling
13d8649a34 Rework Rockbox Utility update version number check.
The version check failed on subrelease versions (as the 1.2.5-1 rebuild done
for Mac) and detected an updated version that is in fact an outdated one.
Rework the comparison completely, move it to the Utils class and display some
more information in the status bar upon update check. Especially keep a notice
in the status bar if an updated version was found.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26788 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 19:18:13 +00:00
Dominik Riebeling
a1209350d4 Convert uninstallation to use signals / slots for logging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26782 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 17:14:00 +00:00
Dominik Riebeling
18b350c972 Distinguish between release and current build when installing fonts.
As with the voice file installation changed in r26637 the same issue exists for
fonts.  While the fonts package rarely changes and therefore this shouldn't
have had a negative impact in the past use the correct font package anyway.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26667 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 17:04:02 +00:00
Dominik Riebeling
3f5e61e094 Fix typo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26666 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 17:03:56 +00:00
Dominik Riebeling
2a90375c12 Sort rbutil.ini general section and rename voice_url for clarity.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26638 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 18:41:02 +00:00
Dominik Riebeling
56fea4f74d Distinguish between release and current build when installing voice files.
Check the installed Rockbox and install release voice file if a release is
found. Fixes wrong voice file getting installed for releases, which especially
showed up with the recent lang file cleanup. This is likely to be the cause for
FS#11362.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26637 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 18:02:08 +00:00
Dominik Riebeling
b2998ef6c7 Move retrieval of revision and release numbers to RockboxInfo class.
This allows reusing retrieval for upcoming distinguishing between release and
current voice files.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26636 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 18:02:01 +00:00
Dominik Wenger
fab86a6a4c rbutil: add mpio hd200 as disabled target (all untested)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26561 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 21:43:15 +00:00
Dominik Wenger
a8c1934c9d rbutil: Make TTS and encoders run on all cores \n FS#11160 by Delyan Kratunov
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26558 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 21:22:25 +00:00
Dominik Riebeling
0a4b576248 Move constructing the themes info download link to rbutil.ini.
Instead of constructing the download link with fixed script name put a template
into the system info file. That way changing the download link doesn't require
changing the code anymore.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26495 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 21:55:22 +00:00
Dominik Riebeling
07ba746151 Fix a warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26339 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 22:06:16 +00:00
Rafaël Carré
ff6b0425e4 mkamsboot/rbutil/amsinfo : do not try to detect the model of a given Sansa AMS OF
The field we thought was representative of the model is not, it has
changed in the past for fuzev1 and fuzev2.
For example the value 0x23 is found in 2 old fuzev1 OF versions, and in
the c200v2 OF

The only reliable way to detect the model of a given OF is by using the
built-in list of md5sums.

Modify mkamsboot and rbutilqt to load the rockbox bootloader first, and
then check if the model in the bootloader corresponds to the model of
the known md5sum of the given OF.

That way we can continue to present the user with a list of known OF
versions in case the OF is unknown to mkamsboot

Also explicit the dependency of main.c on mkamsboot.h in case the
prototypes change
Correct the header's description not updated in r21648

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26248 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 10:06:52 +00:00
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