Commit graph

1761 commits

Author SHA1 Message Date
Dominik Riebeling
9edc63b0d4 Suppress unused-local-typedefs warning with Qt4.
gcc 4.8 introduces this new warning which some Qt4 headers triggers. Since we
don't want to change Qt simply disable it. The warning doesn't show up when
compiling with Qt5, so only disable it for Qt4.

Change-Id: Ia8fcf0859e0a370def36bc9b43ed4d096a80db28
2013-06-09 16:54:59 +02:00
Dominik Riebeling
6b3c4beba4 Rework langstat.
- Generally improve code and make it compliant to PEP8.
- Make it work with Python3 as well.

Change-Id: I9e99999c59dc501664c36dd38fcb85fb60d6d9e6
2013-06-09 16:54:59 +02:00
Dominik Riebeling
071ccc78a9 Update mkrk27boot Makefile for libtools.make changes.
Change-Id: Iebcb3be6024c2fa6ec94a38b8bb1cb0c7274eb85
2013-05-11 20:34:12 +02:00
Dominik Riebeling
e073bc9484 Implement dependency generation in libtools.make.
Automatically generate dependency files for all sources so changes in headers
are picked up automatically. Use one dependency file for each source file,
since that allows to create them without using external tools (except the
compiler of course).

Change-Id: I246c1ceb525692547af22a2e32c4bab0c11507e1
2013-05-11 20:34:12 +02:00
Dominik Riebeling
4f3fa9accb Change mkdir -p to work on Windows.
Windows mkdir doesn't know about the -p option and requires paths to use \ as
path separator. Try to detect when building on Windows and use the Windows
internal function instead of relying on a compatible mkdir in the path.

Change-Id: I47d47d45edeb38c672321f77d6e91268bf744dba
2013-05-11 20:34:12 +02:00
Dominik Riebeling
8a4075d454 Make libtools compile rule more generic.
Create the object - source dependency internally and use a more generic rule
for compiling. Removes the need for explicit rules for source files located in
a different folder.

This adds the limitation for SOURCES and LIBSOURCES to only hold C files.

Change-Id: I56f6a4b1e7df36347cd2f54051e072251f456092
2013-05-11 20:34:11 +02:00
Dominik Riebeling
8568a8de13 Set APPVERSION globally for extralibs Makefile.
Make sure its value quotes are properly escaped. Otherwise make on Windows
causes problems. Also, expand CPPDEFINES only once.

Change-Id: I52e91f17626b2596f389811b22abc12d94f721d1
2013-05-10 17:48:01 +02:00
Dominik Riebeling
7ab7f865dc Restructure options passed to libs Makefile.
Setup AR before checking for ccache to avoid adding ccache to ar. Setup CC and
CFLAGS in the beginning as well. Quote ar and system speex options to fix
building with ccache enabled.

Change-Id: I21714f0849e990abeac72dcda52c81474e090934
2013-05-10 12:02:18 +02:00
Dominik Riebeling
f7d8b2db93 Only pass AR to extralibs Makefile if the compiler is gcc.
We need this only for cross compiling. Trying to figure the compiler prefix
fails if the compiler isn't gcc (i.e. clang), and we only support gcc when
cross compiling.

Change-Id: I822e1b47ec7e9d7e9fdeae8ccf3b8d417a472ef9
2013-05-09 17:23:42 +02:00
Dominik Riebeling
9e9f692678 Fix Rockbox Utility building on OS X.
Fix a typo that broke building. Also extend the extralibs Makefile to allow
calling it directly.

Change-Id: I2d4dd1689a8654a6b092dfcc58d2753423831816
2013-05-09 16:11:00 +02:00
Dominik Riebeling
8a1cd81b3a Move building libraries to separate Makefile.
Previously several additional rules were added by qmake to build the required
libraries. This has a couple of problems on Windows, requiring the use of a
msys shell.

Additional variables are passed as environment variables. Windows doesn't
understand this. Passing the variables via make command line argument works but
make won't be able to change those variables anymore, breaking things. Use
intermediate variables passed via make command line that are then exported by
the called Makefile. This doesn't work in the generated Makefile since the
export lines must not be part of a rule.

Also cleans up the project file a bit.

Change-Id: Iaffb059ce8bafe17a35bd1e0a74ae7acd966c138
2013-05-04 21:41:50 +02:00
Dominik Riebeling
460e959aa9 Allow overriding make variables via environment variables.
Fixes cross compiling for Rockbox Utility.

Change-Id: I3419cb4c89836ec3bee10072495042b3732fd66b
2013-05-04 21:41:49 +02:00
Dominik Riebeling
9a19a22d85 Add missing USB IDs.
The new autodetection will always use USB IDs to identify players (among other
means). Add missing IDs for players the current implementation relies on other
means for detection only.

Change-Id: I037c23705518210b6ed93b4d13ccb96d933aa198
2013-04-09 22:55:55 +02:00
Dominik Riebeling
e30b3d84e8 Change autodetection result to a list.
Both autodetection functionality and the configuration dialog assumed detection
to only return one found device. This isn't necessarily true, especially since
some players can be detected but detecting their mountpoint might be ambiguous
(only if no previous Rockbox installation is present).

Instead of returning individual results (found "ok" player, found "error"
player etc.) return a list containing an entry for each player. Current
autodetection code will never return more than one entry since it doesn't
handle multiple devices yet, and the configuration dialog will show an error if
multiple devices are found. Thus there is no user visible change yet. Both
autodetection and configuration dialog can now get extended to handle multiple
devices.

Change-Id: I79b763dbd6e7111783194bcc22ab7cc06a4061c1
2013-04-09 22:39:13 +02:00
Dominik Riebeling
703bc407b4 Fix ipodpatcher on OS X.
Fix a typo and update CC handling for OS X.

Change-Id: Icde3cb5956ffe45ee1d610ff34957ed7b17f3f02
2013-04-05 20:03:45 +02:00
Dominik Riebeling
ea0bfe7520 Replace the use of uname to get the build output.
Using uname has a couple of problems, especially when cross compiling. Instead
check the defines set by the preprocessor to figure the type of binaries it
produces. This improves support for cross compiling as it allows to (1) select
the correct default target and (2) makes it possible to use separate build
folders for different targets.

Change-Id: I69a32904dab97755034f2f0d63f8402309d479d2
2013-04-05 19:49:04 +02:00
Dominik Riebeling
891351db60 Fix Qt5 / MinGW problems.
Add missing multimedia module and update some includes.

Change-Id: I98c65c4f2e21e6a63d552669468b1da313520499
2013-04-04 22:42:22 +02:00
Dominik Riebeling
801f3bbec4 Rename "interface" parameter.
Current MinGW #defines interface, causing the preprocessor messing up the
function parameter. Rename it to avoid this.

Change-Id: Id49edbfc056a42456d88c9e260e54844e8b1ca07
2013-04-04 22:42:22 +02:00
Dominik Riebeling
b3ef8c8e5b Put resource object into object folder.
Use correct path for windres output. Fixes windres running even if no changes
are present.

Change-Id: I2841113bab9b38f2a03ba2f168b3d8bdb5c102df
2013-04-04 22:42:22 +02:00
Dominik Riebeling
86d46b626b Remove unnecessary all target.
The target all is set in libtools.make. Setting it here breaks make knowing
about the correct default target when cross compiling.

Change-Id: Icdd022094d28e4dcd442e48bb6acd1fd8f9a6ad6
2013-04-04 22:42:22 +02:00
Dominik Riebeling
5ce21366d7 Extend Utils::mountpoints() to allow filtering for supported types.
Instead of trying every mountpoint during autodetection allow filtering out
filesystems that are not supported when retrieving the system mountpoints.

Change-Id: Ic23a5c804cb7c78c146dbc1af7443c67ce12464e
2013-04-04 22:42:22 +02:00
Dominik Riebeling
aa898d65fe Encode the password using base64 before storing it to the configuration file.
There are two reasons for this:
- QUrl::toEncoded() has problems with some characters like the colon and @.
  Those are not percent encoded, causing the string getting parsed wrongly when
  reading it back (see FS#12166).
- The password is cleartext in the configuration file.
  While using base64 doesn't provide any real security either it's at
  least better than plaintext.
  Since this program is open source any fixed mechanism to obfuscate /
  encrypt the password isn't much help either since anyone interested in
  the password can look at the sources. The best way would be to
  eventually use host OS functionality to store the password.

Change-Id: I6ac49d68211236e540b6ca16481e0e1c196532b7
2013-03-19 22:47:50 +01:00
Dominik Riebeling
9965849765 Add option to temporarily show proxy password.
Change-Id: I9c4394dbe679584a0b0f9b6105714176354adfe6
2013-03-19 22:47:50 +01:00
Dominik Riebeling
9e7bd64f5a Remove keyword line.
Change-Id: Ic118b14170bb3eb0237a921f1ffe5c3f50569cc4
2013-03-13 22:05:58 +01:00
Amaury Pouly
44c32f8405 mkimxboot: fix usage
Change-Id: I049908ac0fe65646906999b7e661a64506bd2594
2013-03-10 15:10:56 +01:00
Dominik Riebeling
d94ce51462 Default to non-GUI configuration for tests.
Change-Id: Iae0cd3ec7a4bb173bf4032b557f9ae7efb64c67d
2013-03-09 19:40:57 +01:00
Dominik Riebeling
af58d04e35 ZipInstaller: rename some member variables to be in line with the rest.
Also change the double inclusion protection to match the filename.

Change-Id: I5bb64afdb62c87057867f9f9d683f0df239d2efc
2013-03-09 19:38:08 +01:00
Dominik Riebeling
e50066718c Don't leak HttpGet objects in ZipInstaller.
When creating a new HttpGet object schedule any old one for deletion instead of
dropping its reference and relying on Qt to clean it up once the parent object
is removed.

Change-Id: I66f2a6f01c6b6ad3a0dce0eb4fd3eacfaf7e733d
2013-03-09 19:34:45 +01:00
Dominik Riebeling
ef9eea7fd2 Don't delete ZipInstaller instances directly.
Schedule them for deletion instead of deleting them. That way pending events
can still be handled before the main loop deletes them. Fixes crashes on the
second download during installation.

Change-Id: I7c718dbb0200a64d1aa3bbb6c2839282fb965dec
2013-03-09 19:31:35 +01:00
Dominik Riebeling
6aeecf5e2c TTS encoders: allow volume range between 0.0 and 2.0.
SAPI only allowed values from 1.0 to 10.0, making it impossible to turn down
the volume of the voice. Increasing the volume by a factor of 10.0 is nothing
that is likely to be useful, so change the upper limit to 2.0 and decrease the
lower limit to 0.0.

Lame allowed values from 0.0 to 1.0, making it impossible to increase the
volume of the voice. Change the upper limit to 2.0 as well.

Change-Id: I8add103f6e4b3c8f1b11ee2c0ea478727bdc99c1
2013-03-07 20:42:02 +01:00
Amaury Pouly
ef958abdae mkimxtool: increase performance by compiling with O3
Change-Id: I3d69801488abec4fbc2a84665614936105f60ad2
2013-02-17 12:47:01 +01:00
Dominik Riebeling
02a02efee0 Update copyright information for 2013.
We're still working on this.

Change-Id: I218d9ad0125950076ef3502e123e75d6f0f1de1e
2013-02-08 22:38:57 +01:00
Dominik Riebeling
2dab7c9775 Create Qt5 compatible version of trace event handler.
Qt5 deprecates the way this was done before.

Change-Id: Ic66bce2d1ffcb572a9ed9345abbbbc6bb6475af0
2013-02-08 22:38:57 +01:00
Amaury Pouly
42a725f7ec mkimxboot: add a switch to force version
Add a switch to override the product and component version of the
sb file. This can usually for target like the Zen X-Fi2 where the
upader allows to drop any file named firmware.sb and prints the
version: by using a funky version the users can check they got it
right. This should not be used on the fuze+ or zenxfi3 because the
OF prevents downgrade.
Also make rbutil always zero out the option structure passed to
mkimxboot, this has already created bugs in the past.

Change-Id: I175c5def52c40c2132e11300e2f037d60a4f040e
2013-01-29 11:53:07 +00:00
Amaury Pouly
7fda69222c mkimxboot: add support for 1.23.01 installer
Change-Id: Ibce345ec411a189bd4a0a9555d145c4f057d8b15
2013-01-28 21:02:19 +00:00
Amaury Pouly
aad4308f03 zenxfi2: rework dualboot
The previous dualboot scheme had a major flow: it needed to hold
menu to boot OF but the X-Fi2 boot in recovery mode with menu!
It was possible but very trick to enter the OF with USB plugged.
This code provides a new scheme:
- no USB plugged: boot to OF when menu is pressed
- USB plugged: boot to OF when power is pressed

Change-Id: Ia6e76d3ada1f67137b727daa050cf6c77afbbfb9
2013-01-28 19:15:38 +00:00
Dominik Riebeling
189148e701 Set global cache immediately on startup.
Setting the cache later can result in the system trying to create cache files
in the current working directory, since an empty cache path will be treated as
current directory. If this happens set the system temporary path.

Change-Id: I1623330013d387a966015edd0e1d278c922d9475
2013-01-27 20:11:18 +01:00
Dominik Riebeling
e96df430c4 Implement test for HttpGet class.
Change-Id: I1df793fd32dafdea999b875452ee832b773d8156
2013-01-27 20:11:18 +01:00
Dominik Riebeling
3144c2c74c Rewrite HttpGet based on QNetworkAccessManager.
HttpGet used to use QHttp which has been deprecated since a while and has been
removed from Qt5. Rewrite the class based on QNetworkAccessManager which is the
recommended way these days.

Change-Id: I4902309c433a85ec18e157ef3a9f5e60fd0f4b1f
2013-01-27 20:11:17 +01:00
Dominik Riebeling
13c5c463d0 Update project file for Qt5 compatibility.
Qt5 splits widgets out of the QtGui to a new QtWidgets module.

Change-Id: I35c6437a2e69c25b90989611a683855dfe31da80
2013-01-27 20:11:17 +01:00
Dominik Riebeling
7184980dca Update Qt includes for compatibility with Qt5.
Change-Id: Ibe400700f6bce0335a2975c6d635e10ae940f932
2013-01-27 20:11:17 +01:00
Dominik Riebeling
8f4ab09a8e Replace toAscii() / fromAscii() with Latin1() functions.
Qt5 deprecates the Ascii conversion functions, and the Latin1 functions pretty
much do the same.

Change-Id: I5dee6a443fcfee6afd3256ee536698bcf65ff896
2013-01-27 20:11:17 +01:00
Dominik Riebeling
abd87ccf15 Themes Window: don't set cache folder on each request.
The Themes Window reuses the download object for getting preview images. Since
the object is reused it isn't necessary to set the cache path on each network
request.

Change-Id: Ibc531e09ad19ede3cab7326d9230bd5188710d98
2013-01-27 20:11:17 +01:00
Amaury Pouly
f2dfc84760 mkimxboot: add partial support for the Zen X-Fi Style
Change-Id: I3428a398959dfd7fc46175d87fc67acce6a75171
2013-01-26 18:37:12 +00:00
Amaury Pouly
2c36c82a89 fix style
Change-Id: I169b6712121979453269f5f5238b33cc49cd62b2
2013-01-26 18:37:05 +00:00
Amaury Pouly
f6e4456cc4 mkimxboot: add an option to extract the of without processing
Change-Id: Ie370f152f4efff4428ee023a9211b82a77fd1df4
2013-01-26 18:24:50 +00:00
Amaury Pouly
b6cad07f33 mkimxboot: fix bad return on internal error
Change-Id: I6aec9ec694568c15856b03322208f257181eca21
2013-01-26 18:24:50 +00:00
Dominik Riebeling
1789b717ba Remove support for RFC850 timestamps.
RFC850 timeformat isn't y2k compliant. Furthermore, parsing turned out to be
broken and it doesn't seem supporting the format is necessary anyway.

Change-Id: I062e636a9e016ff1ac49d2a55f00adb1af182576
2013-01-22 22:27:16 +01:00
Dominik Riebeling
b5c2576651 Remove 64bit warning by using C99 fixed width format specifier.
Change-Id: I422d0a7ca91170b27171178ad6a8d7ff7ac32570
2013-01-22 20:39:41 +01:00
Dominik Riebeling
554ee364b0 Avoid unnecessary HEAD request on uncached file.
If a file is not available in the cache immediately sent a GET request. Using a
HEAD request to retrieve the file timestamp on the server is not necessary and
only creates an unnecessary network request.

Change-Id: I358507dcc0c6b837ff47e5fd710b5262d03cb7b0
2013-01-22 20:39:40 +01:00
Amaury Pouly
4b1c48f5f5 mkximxboot: add version string and add zenxfi3 file
Add a version string with each md5sum, fix the version of an
entry, add a new zenxfi3 file entry.

Change-Id: I9fba76ee6032bbe31acd791b8d5e104b87992653
2013-01-15 19:10:55 +00:00
Dominik Riebeling
d24c220d04 Remove 64bit warning by using C99 fixed width format specifier.
Change-Id: I7fecca91acb61461f6696e0bf28bdd6c1bdf6f3c
2013-01-13 19:51:48 +01:00
Dominik Riebeling
1f1826e39c Remove Rockbox Utility Offline Mode.
Offline Mode was intended to allow performing an installation without network
access. However, to get the required files cached the same installation has to
be performed with network access, which is a rather strange prerequisite. A
better way would be a way to direct Rockbox Utility to some local "repository"
that holds the required files.

Furthermore, Offline Mode hasn't been tested since long and is likely to be
broken since the caching mechanism has been extended.

For now remove this functionality. As far as I know it's been rarely used (if
at all) anyway.

Change-Id: Ib2af4892708e0440bd0a7940c131f04182ddb39a
2013-01-13 19:45:29 +01:00
Dominik Riebeling
d608fd604b Remove HttpGet::error() function.
This function returns an internal enum value of QHttp (which is also
deprecated). It was only used for showing an error to the user / showing it in
the system trace. Since it is an enum value it doesn't have much value. Log /
show the error string instead.

Change-Id: I54b9b6026969f8108f779b02a04477f0ad9201ab
2013-01-13 18:48:28 +01:00
Dominik Riebeling
163ab46170 Provide dealloc function to sansapatcher.
Similar as done with ipodpatcher provide a function to free the allocated
sector buffer.

Change-Id: Ie51e82f7191496bb48973148af1cc35cd37993d3
2013-01-01 15:06:41 +01:00
Dominik Riebeling
a8d291bd20 Fix cross compiling sansapatcher.
windres also needs the cross compiler prefix.

Change-Id: Ia27ac8b9f3b47962764eff6b960e1105544b0b89
2013-01-01 15:06:41 +01:00
Dominik Riebeling
b63d429c8f Provide dealloc function to ipodpatcher.
On Windows the sector buffer is allocated using VirtualAlloc, thus releasing
this buffer should be done using VirtualFree. Provide an additional function
for deallocating the buffer so users of ipodpatcher do not need to know about
this.

Change-Id: Ibb0fc575a185148a389e63935e86a392bf8d180d
2013-01-01 15:06:41 +01:00
Dominik Riebeling
45cda1fdcc Fix version handling for patchers.
The working directory will usually be different than the one libtools.make is
located in, so make sure to use the correct starting folder for the relative
path.

Change-Id: I9a84a0573c9f1f32601f31587425689dcf8fb81f
2013-01-01 15:06:40 +01:00
Dominik Riebeling
9c1ed84d28 sansapatcher: move sectorbuf pointer into sansa_t structure.
Similar as the ipod_t structure for ipodpatcher the sansa_t structure holds all
relevant information for sansapatcher. Put the global sansa_sectorbuf pointer
into it as well.

Change-Id: Iad08ef6aafc49609c3d0d556914246f230ee0179
2013-01-01 15:06:34 +01:00
Dominik Riebeling
24e37ddf57 ipodpatcher: move sectorbuf pointer into ipod_t structure.
The ipod_t structure holds all relevant information for ipodpatcher. Put the
global ipod_sectorbuf pointer into it as well. Allows the Rockbox Utility Ipod
class to be instanciated multiple times since each instance can now have its
own buffer.

Change-Id: Ie319cbadbc20c367ceadba9a46b4dc34b57a79a7
2013-01-01 15:05:52 +01:00
Dominik Riebeling
d397cca942 Rockbox Utility: bump version to 1.3.1
Change-Id: I4a9670d59451637b38204aa25dacecb38f50cf3e
2012-11-25 14:09:32 +01:00
Dominik Riebeling
5f9b024341 Add USB ID for Nano 7G so it can be recognized as unsupported.
Change-Id: I19f94ee6adf008989d64d77dfa8e2368ff2385d9
2012-10-22 21:02:31 +02:00
Alexander Levin
9b8a6642e2 Add missing commas in German translation of rbutil
Change-Id: Ic92e9e59a59bb9d40377c64027d1cc601b0b4ebd
Reviewed-on: http://gerrit.rockbox.org/330
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-10-18 21:14:38 +02:00
Andrew Ryabinin
ac6ee9f899 mkrk27boot: Fix makefile.
Change-Id: I009163615e090deb6b87351f1756eb21f8d8a9aa
2012-10-16 10:04:17 +04:00
Andrew Ryabinin
097352a3ec Introduce mkrk27boot - tool for patching bootloader images of rk27xx targets.
Change-Id: I37e15111eb9e761b8c6c25f9c1f65a827894a192
2012-10-10 12:58:37 +04:00
Dominik Riebeling
2c3b8bd1e2 Factor out executable based TTS engines to separate subclasses.
Similar as done with SAPI / MSSP make the current implementation for executable
based TTS engines a base class and create derived classes for each supported
TTS. Removes the need for the implementation to know about the individual TTS
engines.

Add support for speaking directly (i.e. without going through a temporary wave
file, currently only used by espeak).

Change-Id: I59bbbd6ee4c2c009b2a8d8e0ab4a9b39ea723d6e
2012-10-06 13:53:09 +02:00
Dominik Riebeling
7f76bb48b3 Don't assume success for TTS object creation.
While the current implementation of getTTS() will always return an object this
might change later. Check the returned object before using it to be on the safe
side.

Change-Id: Ic949cae7cfbe6f3086dee6aab741b0acafe14640
2012-10-06 13:53:09 +02:00
Dominik Riebeling
a2dd1625bc Check selection before trying to create talk files.
This prevents users from accidentially trying to create talk files for nothing.

Change-Id: I92eae0e0dc14a772c786bcdad67f404fe3786376
2012-10-06 13:53:09 +02:00
Dominik Riebeling
4d96b4c7b0 Fix a couple of warnings and remove an unused variable.
Change-Id: I1617ef882e9bcaaaafe58a932fadd803851ec88f
2012-10-06 13:53:09 +02:00
Dominik Riebeling
c659f9979a Allow USB IDs to be non-unique.
When retrieving USB IDs create a list of players matching to a USB ID instead
of assuming only one player.  This prevents non-unique IDs overwriting each
other and will be used for improved autodetection later.

Currently only the first ID is used during detection, and no additional IDs
have been added yet.

Change-Id: Ieac5594108bae708e364bd2c8df88f61fcdcbdcd
2012-10-06 13:53:09 +02:00
Daniel Kluz
9ee396b846 Polish translation update for Rockbox Utility.
Change-Id: Iaaa06d5e56651c2ba51371344dabf42add0d1e7c
2012-10-06 10:30:01 +02:00
Alexander Levin
fb6e4b9d0e Fix grammar of the German translation (add some missing commas)
Change-Id: I286bc6ced9ffe5e0a3faec2ae405061f31b14456
Reviewed-on: http://gerrit.rockbox.org/323
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-10-06 10:18:43 +02:00
Dominik Riebeling
1c975eefd3 Support "eject" on OS X.
Change-Id: I103587f2fad2b8b31a1bc53afbd107bf55f62c93
2012-09-16 21:08:18 +02:00
Dominik Riebeling
f902bbe07e Make backup dialog modal.
Change-Id: I488dcca6719970e77f9c3afd17a89f3295cf5210
2012-09-16 21:08:18 +02:00
Dominik Riebeling
80297e8ed8 Fix error in german translation.
Change-Id: Ib9c93d123195bc38223980e78fa719d5fe475146
2012-09-09 12:07:54 +02:00
Dominik Riebeling
a1b780e670 Add support for Microsoft Speech Platform.
MSSP is accessible via vbs by simply changing the object to be used (both
SAPI5 and MSSP use the ISpVoice COM interface). Add command line parameter to
sapi_voice.vbs to switch the COM object used, and add the necessary
implementation of the SAPI class to Rockbox Utility.

Important: you will need to install the Speech Runtime separately and install
the version matching the bitsize of Rockbox Utility. I.e. you will need to
install the x86 version even on a x64 machine (unless you build a 64bit binary
of Rockbox Utility).

Change-Id: If760cd69c556c17a2ae539965d0941d16fdc10e1
2012-09-09 12:07:53 +02:00
Dominik Riebeling
469a614349 Add derived SAPI4 class.
Based on the previous change add a derived class for SAPI4 support. Note that
SAPI4 support had been disabled, so it's also disabled to not show in the
selection dialog for now.

Change-Id: Iffda7daafd9327ef8821c4fe4b1b0fc581607f49
2012-09-09 12:07:52 +02:00
Dominik Riebeling
6be7dabdd9 Make SAPI implementation more parametrizable.
Move command line template for listing voices and generation into protected
member variables and initialize them in the constructor. This allows derived
classes to overwrite these, allowing to change the command line call. Make the
name used for storing the classes values to the configuration parametrize at
all.

Remove SAPI4 support, this will be handled in a derived class later.

Change-Id: Ib5a261c56cdf93a44fffdfa6edea409d89fd84ba
2012-09-09 12:07:51 +02:00
Dominik Riebeling
4a9ba12ca7 Add icons to some buttons in the main installation dialog.
Change-Id: I82f4f68af00ea10191403ee716e3835c1e151319
2012-09-08 21:02:37 +02:00
Dominik Riebeling
9e2eb6243f Change sapi_voice.vbs voice list separation character.
The currently used comma for separating voices for the /listvoices command is
used by Speech Platform based voices. Change the character to a semicolon
which isn't used by voices.

Change-Id: I1a7e6e4229f864f56635143e864dadf38cdd7e73
2012-09-08 20:46:20 +02:00
Dominik Riebeling
328ff6d979 Add "Eject" button to main window.
Since especially Windows puts the eject functionality behind an icon in the
systray which is usually hidden and doesn't complain if a USB drive is
unplugged without ejecting it first ejecting such a device might not be
obvious to everyone. Add a button to the main window allowing to eject the
selected player.

Currently only implemented for Windows.

Change-Id: I785ac1482cda03a1379cf6d0fd0d9a0ff8130092
2012-09-08 20:34:36 +02:00
Dominik Riebeling
4f99dd4264 Fix manual URLs not getting updated properly on device change.
Change-Id: I5aaf62b5b7eb298e4d10fc8d854594dce051b2b6
2012-09-05 22:40:15 +02:00
Dominik Riebeling
05caadbca3 Correctly construct the path for talkfile generation.
While TalkFileCreator uses the current mountpoint for writing logging
information it does not use it for constructing the correct path to generate
talkfiles for.

Since there is not much point in generating talkfiles for files that are not on
the player (and the UI limits the paths that can get selected to folders on the
player) make TalkFileCreator use the mountpoint for creating correct paths.
Fixes FS#12748.

Change-Id: Id682a3738649e4167556255599553edc6e2acd48
2012-09-05 20:21:59 +02:00
Dominik Riebeling
1e8eb4752b Fix bootloader installation always being enable for Archos devices.
Archos devices don't need a bootloader, but the automatic enabling of the
bootloader installation didn't handle this case, making a first time
installation impossible. Fix this by respecting the "none" bootloader case
separately.

Change-Id: I9b06348401f525c5447cf4ce061f2463083c0e61
2012-09-02 22:30:19 +02:00
Dominik Riebeling
1ef14474c9 Rockbox Utility: bump version to 1.3.0
Change-Id: I41db53976e4c0cb01e91f574277dcc90e68a6998
2012-09-02 20:19:23 +02:00
Dominik Riebeling
55690ea5bf Update german Rockbox Utility translation.
Change-Id: Ie6600e0c8a67c65705a73c03cbbbd750ff54671a
2012-09-02 20:16:35 +02:00
Dominik Riebeling
7453cb487c Remove string from translation list that doesn't make sense translating.
Change-Id: Ieddeaa35e75b5b9661ade3a715358e031c1d695d
2012-09-02 20:15:31 +02:00
Amaury Pouly
8abdd9b86d rbutilqt: finish french translation
Change-Id: Ia518d9cd242fd7678500f75d87832524c9820a2d
2012-09-02 10:37:54 +02:00
Amaury Pouly
b4e25d1ead rbutilqt: frenc translation
Change-Id: Ic007f1c82ef6cda6f6179d1c949dcd324f62d72f
2012-09-01 20:08:12 +02:00
Amaury Pouly
a04bbd3636 rbutilqt: french translation
Change-Id: I78b2901516caf94ffe198a6534588106b18e5933
2012-09-01 12:11:04 +02:00
Amaury Pouly
91c5023791 rbutilqt: french translation
Change-Id: I8a84ed91318e3cedf844ad6f27f15c74f0c8ba45
2012-08-31 23:32:32 +02:00
Dominik Riebeling
39396cc707 Themes Window: do not download themes information multiple times.
Change-Id: Ic8011ec3f45d4313436a5a49a3a0f604f8931840
2012-08-19 11:04:54 +02:00
Dominik Riebeling
ca1bbc08b3 Check environment before starting installation.
The environment needs to be correct for other installations than main Rockbox
as well.

Change-Id: Icf626de63b58ba40f600fd095a254b6e7e9e46ee
2012-08-19 11:04:54 +02:00
Bertrik Sikken
a28106dc26 Add support for clip+ firmware 1.02.18 to mkamsboot (tested by me)
Change-Id: Ic7d1860c59291e6e5c55b3f91d86de447e53cf66
2012-08-08 19:59:29 +02:00
Frank Gevaerts
9a84bcfe4b Add quotes around APPVERSION to avoid issues when it has spaces.
Change-Id: If281c0e37f56f81cb5dd57e264f82fb32bc08d3b
2012-07-27 14:55:03 +02:00
Bertrik Sikken
f09bf021c9 Dutch (nl) translation update of RockboxUtility
Change-Id: Iebe5253dae409377432d1fd9653294bbcb537e88
2012-07-07 12:32:59 +02:00
Frank Gevaerts
8aa3832382 Mark "unfinished" but OK strings as finished for Dutch rbutil translation.
Change-Id: I9edba3458d62b8c0f66e11420b15da1f9799725b
2012-07-03 23:18:27 +02:00
Dominik Riebeling
707e9d8945 Update german translation.
lupdate all other translations and drop obsolete string.

Change-Id: I74d2ae8dd3c973aeaf35a41f8d32081729c13298
2012-07-03 21:52:49 +02:00
Dominik Riebeling
e3cddc2e3c Fix Ipod Classic target name.
Change-Id: I8647f67daa000c889dcf0ec07368130498e3b8ea
2012-07-01 21:09:08 +02:00
Dominik Riebeling
644b83e0b4 Add version information to Windows file properties.
Windows can show the version in the file properties. This requires an
additional entry in its resource. Restructure global version defines since the
former requires a different format than used previously.

Change-Id: I2bf261a02ea8e0af6dc081568960debfb779d396
2012-07-01 19:06:34 +02:00
Dominik Riebeling
c3a2b20ef2 Remove Ipod Classic from list of unsupported targets.
The classic is now a disabled target. Add the missing USB ID as well.

Change-Id: Ic10d1c2602e6b00d0d92614d12072ef911cc7e22
2012-07-01 19:05:28 +02:00
Dominik Riebeling
e7fdf80c17 Do some minor cleanup.
- Move a GUI-only implementation class around.
- Make some strings non-translatable which don't make sense translating.
- Rename internal state in installation class. There is no current build
  anymore.

Change-Id: I7384c5601de36bc48f858fe5c7b009653d439d94
2012-07-01 15:02:32 +02:00
Dominik Riebeling
b7931594f9 Handle no selected themes properly.
When installing themes without any themes selected show a notice in the log and
continue instead of stopping.

Change-Id: Ieeb03e4656b041ce1dda25b2c44b6b6f0aa0ca80
2012-07-01 14:58:39 +02:00
Dominik Riebeling
d0f7a8181b Be more specific on bootloader uninstallation errors.
When Rockbox Utility can't figure if the installed bootloader is a Rockbox
bootloader don't tell the user that it can't uninstall the bootloader but be
more specific stating that no Rockbox bootloader has been found.

Change-Id: I8e1eae4bdba30da87d10d2dc11fb9d48e176de2a
2012-07-01 12:34:59 +02:00
Dominik Riebeling
bf1c491c2b Move check for existing bootloader to ipodpatcher.
Bootloader handling is different on nano2g compared to the other supported Ipod
models. Since ipodpatcher handles this internally make ipodpatcher also provide
a way to check this when using from Rockbox Utility to avoid duplicating the
(already existing) checks in the latter.

Fixes wrong "bootloader already installed" message on nano2g.

Change-Id: Ibc658d775fbac7cf9a7e329d445fe97828a455d8
2012-07-01 12:34:59 +02:00
Dominik Riebeling
d8f5a00fc1 Install widget: fallback to development build.
If neither an old selected build nor a release is available fallback to
selecting the development build.

Remove some old code that was not supposed to be be kept.

Change-Id: I883535bd8e7981e68bc3fac3bcd5f375e1237242
2012-07-01 12:34:59 +02:00
Dominik Riebeling
a455f5901a Fix nano2g bootloader uninstallation.
Check the correct image when looking for the Ipod firmware version. On nano2g
this is a different image.

Change-Id: Ic7981363399d44e03247a81277522bc1d271090a
2012-07-01 12:34:59 +02:00
Dominik Riebeling
bed847a655 Backup dialog: check if the backup file already exists.
Give the user a chance to cancel the backup if the selected file already
exists. Since the filename is automatically generated from the installation
version information this can happen when trying to create a second backup of
the installation.

Change-Id: Iee34e576c4b3b94a4ccf99836741806b52a8affd
2012-06-30 11:58:45 +02:00
Dominik Riebeling
6db53f4ef8 Handle language change events in widgets.
Change-Id: I54265e8c5da03e7d13217118f233effa8837f007
2012-06-30 10:51:15 +02:00
Dominik Riebeling
fa17cb904c Rework Installation and remove Quick Start tab.
The Quick Start tab turned out to be used a lot but not explaining what its
functionality actually does, leading to various amount of confusion. The Quick
Start tab and its functionality have been completely removed.

As replacement the reworked Installation tab now includes both the entries from
the old Installation tab (Bootloader and Rockbox) and the Extras tab (Fonts,
Themes, Game files). Each of the items can be enabled or disabled individually,
and the selection is saved in the configuration. The only exception is the
bootloader option, since installing the bootloader is only needed once. To help
with this the bootloader checkbox is automatically enabled if no Rockbox
installation is found, and disabled if one is found. While it would be nicer to
check if the bootloader is actually installed this is not possible for various
players so the implementation simply relies on a Rockbox installation.

This should also make it much easier to update an existing installation.

Current limitations:
- the selected themes are not saved.
- it is not possible to detect if the target has the plugins that require
  additional game files prior to installation. Thus the "Game files" option is
  available for all targets but simply skipped if the plugins are not found.

Change-Id: I1929bb7045e382fcbba431cca057d3121607d3a9
2012-06-26 20:11:41 +02:00
Dominik Riebeling
9b783bc105 Separate select and install parts in themes install window.
Allow using the themes installation dialog as selection dialog separately from
installing themes. For this the installation is now triggered separately and
can be told to not to do the installation on Ok button. In this case the dialog
is selection only, and the Ok button is changed to Select. The installation
itself is still done in the class but started by calling the install() method
separately.

Change-Id: I856db8204788302b2b539e6d8283f73cb354f033
2012-06-26 18:30:27 +02:00
Dominik Riebeling
f419128a6b Show player picture left of device configuration.
After shrinking the size of the Rockbox logo shown and making the selected
device display two lines there is now enough room to also show an icon of the
player. The icon is scaled depending on the application font size, so for
setups configured with a larger font it still should show up in a reasonable
size.

Change-Id: I8f62f3292c62f820309157db73741b57fd6371ef
2012-06-26 18:30:27 +02:00
Dominik Riebeling
40e306ba37 Make Rockbox logo smaller and move device information up.
The original way of including the Rockbox logo wastes quite a bit of space.
Make it smaller and move it to the left, so the information about the
configured device can go next to it.

Change-Id: I790ffc423135e02e28cc963b0b565284b75bf98c
2012-06-26 18:30:27 +02:00
Dominik Riebeling
362f447ede Create dedicated backup dialog.
The "Installation" dialog allows backing up the current installation by
creating a zip file from the .rockbox folder since quite a while. However, this
has the drawback that you need to update your build to create a backup, but
creating a backup might be desireable in other cases as well (before updating
themes, or just for backup reasons). Since the functionality is somewhat hidden
it's also not obvious to users such a functionality exists (most users are
likely to use the "Quick Start" instead).

Implement backup functionality as dedicated dialog placed on the Uninstall tab.
Rename the Uninstall tab to accommodate this.

Change-Id: I1d2c6c8f646672d1b66bb442408fbfc2eeec700d
2012-06-26 18:30:27 +02:00
Dominik Riebeling
8cc46fb01c Add Ipod Classic (6G) as disabled target.
Change-Id: I35dbe8333c38b200e9b1e6e056f0382538ee91a1
2012-06-26 18:30:27 +02:00
Dominik Riebeling
46a57b8ece Make Info widget update independent from tab index.
Since the Info widget is now a separate widget ask the tab widget about its
index instead of hard coding it. Rename a variable to avoid shadowing while at
it.

Change-Id: I40c18387aacc780ac2051bb894db36247171c268
2012-06-26 18:30:27 +02:00
Dominik Riebeling
388014567f Add missing class name to System Trace log.
To identify the source for System Trace entries qDebug() calls usually add the
class name at the beginning. Add some missing ones and remove some trailing
spaces.

Change-Id: I3179bb206e96de8b5a1c05c0fc0958936e4513f3
2012-06-25 00:04:44 +02:00
Dominik Riebeling
e359202aa1 Fix bootloader zip extraction filename case sensitivity.
When searching for the bootloader file in a zip archive the filename in the
archive might use a different casing than the one we're looking after. Make the
search case-insensitive to not fail to find the file in this case.

Change-Id: I05ffc67421e67fae045eabb7851cd99a3757b6d7
2012-06-23 12:10:56 +02:00
Dominik Riebeling
83d210493d c200v2: add missing Europe FM / no FM firmware filenames.
Change-Id: Idfed4bcf6d89d9f24b6aad352a411ece3086bb2a
2012-06-23 12:10:56 +02:00
Dominik Riebeling
e5d6e42e0b Set size policy for build details group.
The contents of the build details group change and might become larger than the
current size of the group box. Set its size policy to expanding, so it resizes
automatically instead of text being cut off at the bottom.

Change-Id: Iab7947046a9676ac76115766872daad3ac6763e4
2012-06-18 23:33:56 +02:00
Dominik Riebeling
e9487d3551 Simplify manual installer setup a bit.
Change-Id: Idbef76cee2ddc6537696b5d234d9e33c4a3bd621
2012-06-18 23:24:00 +02:00
Dominik Riebeling
dd79face4d Extend ServerInfo unit test for manual URL.
Change-Id: I599adf7d692e95310fe12bca8fe0c69695aa4784
2012-06-18 23:18:32 +02:00
Dominik Riebeling
4f4e1d1f0e Move constructing manual URL to ServerInfo class.
Change-Id: I4d2605b2389b4378e8311fc82057974e0eb238e6
2012-06-18 23:18:32 +02:00
Dominik Riebeling
74af18ebf5 Add support for installing release candidate builds.
Release candidates are now a third option in the installation window. Quick
start will still install the latest release.

Change-Id: I64e05160817263c5c4cb40cbdb4942149983e0ff
2012-06-17 16:56:49 +02:00
Dominik Riebeling
9760d4155f Make ServerInfo parsing slightly more robust.
- Don't assume the list of release targets to be the same as the list of
  release-candidate targets.
- Don't try to construct a download URL for releases with an empty release
  version.

Change-Id: Icc3098a9db9e3d00261c32f4b9c2999ecc716380
2012-06-17 13:02:22 +02:00
Dominik Riebeling
14727b1ac3 Implement unit test for ServerInfo input parsing.
Change-Id: I9e28c94ca72c7644a154e40a258d9f00df5f5edd
2012-06-17 13:01:09 +02:00
Dominik Riebeling
a3d9ace41e Support release-candidate entry format for releases.
The release-candiate entries provide both version and URL instead of only a
version entry and requiring the URL to be constructed separately. Since it's
easy to identify the format support both for release entries for improved
flexibility -- if the server URLs ever change the server only needs to get
updated to use the extended format.

Change-Id: If5c669b72d7acd6ac648c5f42dd844ae36904df6
2012-06-17 11:25:11 +02:00
Dominik Riebeling
d3ddad95be Read release candidate information from build-info.
Change-Id: I73ac0922f25dd247588f945eba1e78f4026d747d
2012-06-17 11:21:04 +02:00
Dominik Riebeling
94555a0b08 Move download URL construction to ServerInfo.
Centralize creating the URLs so it's not duplicated in two places. This also
allows to change the representation on the server more easily, since it only
requires changes in one place.

Currently only changes URLs for Rockbox builds.

Change-Id: I87277cd61f8b164bdbcd914c9873d674661a786c
2012-06-17 10:30:19 +02:00
Dominik Riebeling
c2246905a2 Clarify Quick Start tab descriptions.
Make it more clear that the Quick Start buttons will install a release version.
Fixes FS#12612.

Change-Id: I4c649cd43a0e10f326af62bcd6b6adc0dd7e8cd5
2012-06-15 22:59:10 +02:00
Dominik Riebeling
96f63e6078 Remove mountpoint when storing folders to talk.
When using Rockbox Utility some later time the mountpoint might have changed.
This would invalidate the list of folders to voice even if the folders are
still present on the player. Remove the mountpoint part before storing the
folders, and add it when loading the settings.

Change-Id: Ic4ed98b205d20f6a0b3a1e1da396bbdcd02c255e
2012-06-14 22:54:30 +02:00
Dominik Riebeling
537dfe482f Save all settings in talkfile dialog.
Save settings that haven't been and rename the configuration file value for the
talked folder. Since the folder was replaced with a list we can't use the old
value anymore so there's no need to keep a name that's not really suitable
anymore.

Solves FS#12634.

Change-Id: I8db2a536409b94c45f28db9418a11f11f57dfacb
2012-06-14 22:54:30 +02:00
Dominik Riebeling
c02bdc3c3c Update "sidebar" image in Rockbox Utility dialogs.
Replace the old image shown on the left side in various dialogs with a more
recent one.

For the curious, this image has been taken at DevCon2012 and shows the
collected players to be used for building a tower.

Change-Id: If4303cc69bed3ac12bba04988427065926f1043c
2012-06-13 23:13:21 +02:00
Dominik Riebeling
b4dee8958f Rework talkfile creation window.
Support selecting multiple folders by replacing the provided path with a tree
view that allows selecting multiple entries. The view is limited to the
selected mountpoint (i.e. the player) so this removes the possibility of
generating talk files for files that are not on the player. However, since
Rockbox Utility disables most functionality without an attached player this
isn't too much of a problem. Creating a standalone application for talkfile
creation that is not limited to the player is possible as well.

Change-Id: Ic68e7556f2e2e5b9c121aaba759a42a4d1d9d53a
2012-06-13 23:04:27 +02:00
Dominik Riebeling
da08e5059a Talkfile: show folder to talk.
Currently it's not possible to pass multiple folders for talking. Show the
folder to talk to give a useful feedback when calling it multiple times.

Change-Id: I0f3d1014ee3867cc81122e485fc36353ec0f55ff
2012-06-13 23:01:57 +02:00
Dominik Riebeling
0850c1cba2 Improve voice creation window a bit.
- Make the window slightly smaller. There isn't too much information to be
  displayed, and Qt will enlarge the window if necessary anyway.
- Rename the "wavtrim threshold" field, since "wavtrim" is not really
  descriptive for non-developers.

Change-Id: I89622b3f1bca8bcd7326b447d28859412107287f
2012-06-13 22:42:32 +02:00
Dominik Riebeling
47ea5b65b2 Remove encoder display from voice / talk dialogs.
The encoder is fixed depending on the selected target, so there is no real
benefit in displaying it in voice and talkfile generation dialogs.

Change-Id: I1389800d04fcdac558b243368acfee6b1b64afc9
2012-06-12 23:35:16 +02:00
Dominik Riebeling
4ea3f9ff2a Move include to proper place and do some code police.
Change-Id: I74a32e44ead18651a22a3a5038415808cbde6c39
2012-06-12 20:11:20 +02:00
Dominik Riebeling
14ffde1239 flite: indicate end of options on command line.
As with espeak, a string starting with - is wrongly interpreted as command line
option. Explicitly end options using -- to fix this.

Change-Id: I47b2f1c4ba236638b1f625e5bcf3262f47071c9c
2012-06-10 18:20:39 +02:00
Dominik Riebeling
900cf6d52b Rockbox Utility: support reading voice strings from target.
If the Rockbox installation has voice strings included use them when generating
voice files. Fall back to querying the server if no voice strings are found or
the found strings are incompatible.

Change-Id: I9883829ab1757e55b1da9a434221a8dbfc702dd4
2012-06-09 23:39:57 +02:00
Dominik Riebeling
551ea5eaa4 espeak: indicate end of options.
When calling espeak via command line explicitly indicate the end of options.
Fixes the voice string "-inf" getting recognized as unrecognized command line
option, breaking speaking.

Change-Id: I4d1be2e6c8ae23a72028919593c5a94990333a9c
2012-06-09 23:36:24 +02:00
Dominik Riebeling
1e2c6506fb Fix crash in mkimxboot bootloader installation.
mkimxboot requires passing a structure which got extended with another field.
This wasn't adjusted in Rockbox Utility, causing an out of bound access to an
array, which results in a segfault.

Change-Id: I0252849ed0b41f1d8804537c053debc9b0ecd08d
2012-06-09 22:08:54 +02:00
Dominik Riebeling
b2380b535e voicefont: make format version a parameter.
Make hardcoded format version a parameter to allow adjusting depending on the
installed Rockbox version. Rockbox Utility will read the version from the
installed version. Since the command line voicefont tool is only intended for
use in the current tree it uses a fixed version.

Change-Id: I1ec935d47c71961e93b3c6bc6c5d816cd9fc83ff
2012-06-05 23:24:54 +02:00
Dominik Riebeling
e9b7202b2f Bump version to 1.2.14.
Change-Id: I5f8d8ee9f72e6ab1e68fbb227db1e2565d048468
2012-06-03 20:51:37 +02:00
Dominik Riebeling
f4b0e316c3 Update for single build-info file.
The server now provides a single build-info file (instead of two separate ones
for development builds and stable releases). Update to use the new file, since
it simplifies things.

Change-Id: If3b949f4d78eecb54e47622da887f51005f6d155
2012-06-03 00:50:01 +02:00
Dominik Riebeling
b73c961683 Fix a comment and improve message box title.
Change-Id: I10a37be97b1000fcee5a47f13dc8ba7ee6b31b36
2012-06-03 00:46:33 +02:00
Dominik Riebeling
96e7cc9e80 Only support pregenerated voice file for releases.
The voice file installed needs to match the Rockbox version installed. If not
the voice might not match the actual entries.

Rockbox Utility always was sloppy on this and installed the latest archived
(previously "daily") builds voice file for the latest development (previously
"current") build. Archived builds aren't supported anymore in Rockbox Utility,
so remove support for installing archived voice files as well.

There are no pregenerated voice files for development versions provided, and
Rockbox Utility can generate voice files anyway. Also, those files are only
provided and most users seem to prefer to use the voices they have installed on
their PC.

Change-Id: I17817da8a14dc5f8b0ef208579d8d75fa86ab610
2012-06-02 00:07:30 +02:00
Dominik Riebeling
87bb7471bb Use server timestamp for development build fonts.
The server timestamp is more meaningful as version identification than using
the revision of the currently installed build.

Change-Id: Ib57766f8e0f57ea9a4f805929acb589c2560fbd5
2012-06-02 00:00:19 +02:00
Dominik Riebeling
f494c3c325 ZipUtil: check zip file external attributes for folder.
Folders in a zip file usually but not necessarily have their filename ending
with a slash. In these cases recognizing a folder entry by the last character
fails. Check the external attributes as well, which also contain the FAT file
attributes.

Change-Id: I81b039b3774b803b2b528bc83846aafd208e5571
2012-05-31 20:44:45 +02:00
Amaury Pouly
a87a9ef373 imxtools: move tools to a new sbtools/ subdirectory
Change-Id: I0d8d6831b35037725486f61fc363de87bc8ba92e
2012-05-31 13:57:25 +02:00
Dominik Riebeling
112b80b0c2 VoiceCreator: Factor out creation to separate function.
Change-Id: I83d1a08745acc88aa673d07e469a0a854ef97050
2012-05-27 22:57:17 +02:00
Dominik Riebeling
ad3ecfcf8c Add missing USB ID for H10 5GB MTP.
Change-Id: I8eedd925bc83fc52beb8f4e1e680ab2567de2920
2012-05-27 22:51:13 +02:00
Dominik Riebeling
042314b440 Remove leftover debugging output.
Change-Id: Ifcc34224e7ee7703d8b7290e308dc4b116050a2a
2012-05-25 23:15:11 +02:00
Dominik Riebeling
9b5d6679b8 Use full version string for voicefile version.
Change-Id: If9a179b0fcb707efb32590c8914eccdb81ee27df
2012-05-23 22:59:56 +02:00
Dominik Riebeling
6de59442a5 Use Rockbox version for created voicefile version.
Instead of using the date the voice file was created use the version of Rockbox
the voice file was created for. That way it is possible to see from the
installation log if the installed voice matches the current Rockbox version.

Change-Id: I9fd7d40d718febafbc20579f049b9b94cfa5d573
2012-05-23 22:48:09 +02:00
Dominik Riebeling
968448c9cd ZipIntaller: use file timestamp if version string is missing.
Instead of using some arbitrary and not really useful string use the timestamp
of the downloaded file if version string is provided by the caller. This also
makes it possible to check if the downloaded file is actually a different one.

Use it for manual and game file downloads, as this gives more reasonable values
than using the date transmitted for daily (archived) build and as support for
archived builds will be removed shortly.

Change-Id: I0c751fabe7bb516edca93a5f73f077a611d4ef87
2012-05-23 21:10:38 +02:00
Dominik Riebeling
733eb9af40 Show nicer language names in voice creation dialog.
Instead of showing the internal language names show some more human friendly
string. Currently only applies to the voice creation dialog, the language
configuration dialog needs further adjustments to support display strings
differing from values.

Change-Id: Ic94838f1079c1d09a666d7dbd9682c577f686b3f
2012-05-19 16:52:58 +02:00
Dominik Riebeling
45782df278 Remove "daily builds" from Rockbox Utility.
Since Rockbox Utility could only install the most recent "daily build" there is
not much difference to the most recent development build so the option was not
really useful.

Additionally update naming. Former "daily" builds are now "archived builds" and
can get installed manually (if necessary), and "current" builds are renamed to
"development build".

Change-Id: I748688d544b6d9868f7495f30933637bf9ff5e50
2012-05-19 16:37:45 +02:00
Amaury Pouly
e09c1e3d43 mkimxboot: add support for more target and variants
Add creative zen x-fi 2/3 and add a variant mechanism

Change-Id: Ic2ee82a4238a87c2eb5d72b8309650d9a280325f
2012-05-19 16:10:52 +02:00
Dominik Riebeling
45e5b05574 Windows: always define UNICODE.
Change-Id: Id188cc03118d7dd769d838f8481e44ba31406dbf
2012-05-14 23:39:17 +02:00
Dominik Riebeling
4b5348ba04 Don't try to resolve an empty path.
An empty path is not resolvable, so immediately return an empty result. Fixes
an empty path resolve to "/" on Linux / OS X.

Change-Id: I22c26a7716becbf46850a04e18ee581084546263
2012-05-11 22:07:34 +02:00
Dominik Riebeling
9b363c6ced Bootloader installation: set file filter.
When requesting an original firmware file from the user set the filter for the
file chooser dialog to only show files with matching file extension to simplify
selection. Allow the user to select "all files" in case the file for whatever
reason has the wrong extension.

Change-Id: Ic3643c3601f6d849e6563f8753ae80a168ec0a45
2012-05-01 10:49:48 +02:00
Dominik Riebeling
92ef7bd328 Move bootloader class initialiation into helper.
Create a BootloaderInstallHelper class for handling post installation hints and
creating the installation instance depending on the player model. This removes
the base class handling its derived classes which always has been weird, and
removes the need to change the base class when adding a new installation
method, since the base shouldn't be affected.

Change-Id: I2a156d70fd1cff6c48bdd46d10c33d75c953ea90
2012-05-01 10:49:48 +02:00
Dominik Riebeling
a32cbf3346 Only update mountpoint on Accept when empty.
Always updating the mountpoint overwrites a manually entered mountpoint (only
available in debug builds).

Change-Id: I6298cb873496d66f4836f219e89ca8ae17261de9
2012-04-30 22:11:49 +02:00
Dominik Riebeling
4b256de1ec langstat: update for git.
Use gitscraper for retrieving files from the repository and update output a
bit. Fix some pep8 errors while at it.

Change-Id: Iff05bc916decb28bed99b83d9a32ce344d5c613b
2012-04-29 11:48:07 +02:00
Dominik Riebeling
c1a71ab9ae Fix a typo and remove line splicing.
Change-Id: Ifce9224e352b2a3efef92aff4bbdde9fc8714587
2012-04-28 21:46:33 +02:00
Dominik Riebeling
8bdecac0b0 Don't assume the compiler to be gcc / g++.
When setting up qmake to use ccache keep using the compiler as defined in the
qmakespec instead of assuming it always to be gcc / g++.

Change-Id: I00ce32158ca4a5d67517347cae2e86b77051b3c9
2012-04-28 16:49:09 +02:00
Dominik Riebeling
bdb00fa1fb Remove useless operation.
Change-Id: I378be5202d96cf6b44fb448cb7e620465ff36961
2012-04-28 16:49:08 +02:00
Dominik Riebeling
8a3824f36a ipodpatcher: replace ipod2c with bin2c.
Change-Id: I3b339e05c9a5f4a8a60bd7581ec402b4784542e2
2012-04-28 12:06:55 +02:00
Dominik Riebeling
308f099874 Move bin2c handling to libtools.make
Change-Id: I60353bb9f9fd2658d66ba7f352e04f7489c7bf5d
2012-04-28 12:05:50 +02:00
Dominik Riebeling
b4424ca2f3 Add "ipod" mode to bin2c.
ipod2c is identical to bin2c except it skipping the header of the input files.
Add this behaviour as option to bin2c to be able of using bin2c instead of
ipod2c.

Change-Id: I71afcaca6f2f6b0fce4c6aa3dff6be5bb205f384
2012-04-28 12:05:11 +02:00
Dominik Riebeling
7f9bb7b823 MI4 bootloader: check for copy result.
As for BootloaderInstallFile check if copying the bootloader file to the player
did actually work or if an already present file caused the copy operation to
fail.

Change-Id: I2e889610b4cb9f57f73cffc473c6230be0d11e24
2012-04-26 22:01:33 +02:00
Dominik Riebeling
b623b97d40 Check for bootloader file on device before copying.
QFile::copy() doesn't overwrite an already existing file. This can lead to
bootloader installation trying to place a new file on the player but failing to
do the actual copy if the file already exists. Since overwriting an already
existing file might be unexpected by the user error out in this case and notify
the user.

Change-Id: I5ffaf2f1344271ea2bad9e3232234826552385ec
2012-04-26 21:19:56 +02:00
Dominik Riebeling
07798ae526 Add missing basque and english-us languages.
Change-Id: I99767adb9231b25092bee976921a42a8e309599b
2012-04-26 21:19:56 +02:00
Dominik Riebeling
51f1fcbe26 Voicefile: remove < and > from voice strings before speaking.
Some language files have the < and > characters the original string (like "<All
tracks>") has included in the voice strings. These characters cause the
generated wave file to not contain any samples with SAPI, causing an error when
Rockbox Utility tries to encode the file.

Since those characters don't make much sense in the voice string remove them
prior to speaking. Currently affected languages are basque, chinese-simp, and
russian, for which this fixes voicefile creation.

Change-Id: Iac7ccd7921ccfb5ddc33645239a1f8f7e639e5aa
2012-04-26 21:19:56 +02:00
Sean Bartell
f40bfc9267 Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-25 22:13:20 +02:00
Dominik Riebeling
fa6563b7b8 Refresh mountpoint from UI before checking for existence.
Fixes "invalid mountpoint" errors that could happen if the preselected
mountpoint was never changed and no previous configuration available.

Change-Id: Ief5f1b7a0b24267a03028f5d402e8763a5a3fc70
2012-04-24 23:02:24 +02:00
Dominik Riebeling
debe77a567 Check for existing firmware file on H100 / H300.
Show an error if copying the firmware file to the player failed. Also, check if
there is already a firmware file present on the player. If so abort and tell
the user about it, since QFile::copy() doesn't overwrite existing files and the
user might not expect the file to get overwritten.

Change-Id: Ie63963289965900a4ab519ddf128246f89d81c6c
2012-04-10 20:37:29 +02:00
Bertrik Sikken
a12b2a5df9 mkamsboot: add support for clip zip original firmware 01.01.20 (tested by me)
Change-Id: I1d071539d496c63f47d305375e244f9fbe107ced
2012-04-08 11:46:02 +02:00
Dominik Riebeling
0c4bd3a9c4 libmp3lame encoder: don't retrieve settings for each run.
Retrieve the encoder settings only when creating the object or when saving.
Avoids unnecessary overhead by accessing the settings object on each encoder
call, which also clutters the system trace log.

Change-Id: If64e5d1d5ac8f1d4b0afd1bc4851e455fc7e64c2
2012-04-06 17:00:48 +02:00
Dominik Riebeling
fe756b65de Drop empty voice strings when building list of strings.
Instead of skipping empty voice strings when trying to voice the list of
strings drop them immediately when building the list of strings.

Change-Id: Ib2627fb4b5061916cf04d67b6b78f457122ed2cd
2012-04-06 16:18:46 +02:00
Dominik Riebeling
eb6c6581bd Remove espeak from TTS list on Windows.
On Windows espeak installs itself as command line program as well as as SAPI
voice. Using the SAPI voice is simpler, so there is no need to keep the command
line option for it.

Change-Id: I44fbd806572d5c14b976aa5d58a91935f04c6338
2012-04-02 20:09:32 +02:00
Dominik Riebeling
9f2ee2f21a Fix HTML manual download link (FS#12620).
Change-Id: I1bccf62b7770ad7a73ffc1578cbdf5034951c216
2012-03-28 20:19:00 +02:00
Dominik Riebeling
c1fcd698a2 Prefix compareversion test files.
Change-Id: Ic67b4a1519456cbb2d85078a80ac605eb65f8020
2012-03-28 20:19:00 +02:00
Dominik Riebeling
b30df550a8 Enable MPIO HD200 and HD300 installation.
HD300 has been promoted to stable. The state of a port is retrieved from the
download server anyway, so there is no reason to keep the HD200 disabled.

Change-Id: Ic28c663c8999558dda5b10f4fa584e2f6732264a
2012-03-12 22:18:53 +01:00
Dominik Riebeling
674bbbaf83 Fix false positive in version detection.
Some git revisions are falsely detected as release version. Extend test and fix
the wrong regexp. Corrects font download trying to get the wrong file for some
current builds.

Change-Id: Ia779896c927385ec0d7ba68ee3d953f3c6e4494c
2012-03-12 22:16:14 +01:00
Dominik Riebeling
93cf878a48 Test: check retrieved version string as well.
As originally intended check if the retrieved version string is correct instead
of ignoring it.

Change-Id: If4dad224e999a90607dee3eb723400c12f5b7362
2012-03-12 22:14:43 +01:00
Dominik Riebeling
cd5ee6f181 Bump version to 1.2.13.
Change-Id: Ib4efdef98db92824f798f830f8c8c1b094dc4f02
2012-03-06 22:17:52 +01:00
Dominik Riebeling
7d2c7b83b5 Rockbox Utility: add "revision" information back.
Add a revision-like information and make deploy.py replace it with the git
hash.

Change-Id: Ic88ad0b2af255e76a7129a6a5cf52663b868fd32
2012-03-06 21:45:54 +01:00
Thomas Jarosch
e8c7d10e46 Fix mismatching C++ new[] / delete calls
cppcheck report:
[rbutil/rbutilqt/base/encoderlame.cpp:273]: (error) Mismatching allocation and deallocation: mp3buf
[rbutil/rbutilqt/base/encoderlame.cpp:282]: (error) Mismatching allocation and deallocation: mp3buf
[rbutil/rbutilqt/base/encoderlame.cpp:289]: (error) Mismatching allocation and deallocation: mp3buf

[rbutil/rbutilqt/base/encoderlame.cpp:274]: (error) Mismatching allocation and deallocation: wavbuf
[rbutil/rbutilqt/base/encoderlame.cpp:283]: (error) Mismatching allocation and deallocation: wavbuf
[rbutil/rbutilqt/base/encoderlame.cpp:290]: (error) Mismatching allocation and deallocation: wavbuf

[rbutil/rbutilqt/base/encoderlame.cpp:184]: (error) Mismatching allocation and deallocation: buf

Change-Id: I9fd54b6e02817eb900ec6e24d967da6d4beaeb27
2012-02-29 20:13:17 +01:00
Amaury Pouly
8c0c844b7b imx233: always boot when powered up from 5v
Change-Id: I3adb901d293c801f0a8493ae4f0b23af4fa535e8
2012-02-29 00:02:31 +01:00
Amaury Pouly
c735ff2ac0 mkimxboot/fuze+: fix booting to the OF
Change-Id: I51db192d9c88952173acac6558941ba6421a31dd
2012-02-28 21:00:23 +01:00
Amaury Pouly
15c69b8baf mkximxboot/fuze+: add power button delay to power on
Only boot to rockbox if the power button is hold sufficiently long.
For consistency, use the same mechanism as the OF:
- read PSWITCH 550000 times
- boot if PSWITCH=1 at least 400000 out of 550000 times
Only apply the delay if Volume Down is not hold,
so that the OF and RB delay don't cumulate.

Change-Id: I1e8a4cd108c56bf784fcf1c320f7a001ef161701
2012-02-28 00:03:46 +01:00
Jean-Louis Biasini
a532b60416 Rockbox Utility: update french translation
- change some strings that were not really nice
- update empty strings

Change-Id: Iab816bdbcd09bc254320c50d5eab424648b9a832
Reviewed-on: http://gerrit.rockbox.org/124
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-02-26 15:59:46 +01:00
Dominik Riebeling
cac98a5ebf Rockbox Utility: update german translation.
Change-Id: I6f514c79f23ea8aed341dd46c6f332aab57a1b0d
2012-02-23 23:08:41 +01:00
Dominik Riebeling
b03dcd63b2 lupdate all translations and drop obsolete ones.
Change-Id: I799c45018926e7a0138481b51258f73cbc17dd5d
2012-02-23 22:48:53 +01:00
Dominik Riebeling
f9bf62e3ad Fix post installation hint for h100 / h300 players.
Change-Id: I7af8883253281c85fef52001b291fcd942772e3d
2012-02-22 23:19:58 +01:00
Dominik Riebeling
dc9bd859fe Remove duplicate entry from postinstall hint.
The Fuze+ has its own "disconnect player" message, so don't show the generic
one here.

Change-Id: Ibecac46d2434cb2c2b0369ff87649093252594ef
2012-02-22 23:09:59 +01:00
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
3aec87c009 Move Info tab content to a separate widget.
Change-Id: I39a4e035372920f05f5fb3ab5bfc9459314997ad
2012-02-19 18:54:03 +01:00
Dominik Riebeling
93ed5baf77 Correct filename in manifest.
Rockbox Utility binary has been renamed quite a while ago, make sure the
manifest for Windows matches.

Change-Id: If420075dc798ff3ec9c66e36f57d91af4e7d3b48
2012-02-19 18:54:02 +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
2dbb17d0d6 Initial unit test of RockboxInfo class.
This tests the original (svn revision number based) functionality.

Change-Id: I69a121d751d2358c1e7594032f8f8193af59e103
2012-02-19 14:12:22 +01:00
Dominik Riebeling
557451a183 Put test objects into test specific subfolder.
Change-Id: Ib574524cfa61c2dde5b7d5522e88fbe9dd814996
2012-02-19 14:12:22 +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
8498e103d0 Remove "r" prefix for version information.
Since we don't have revision numbers anymore remove the "r" prefix when showing
the version information to the user.

Change-Id: I1e36b11a23301dda9fe67bb284489510c65567d8
2012-02-19 11:21:14 +01:00
Семён Жуковский
a794aaa38c Update rbutil russian translation
FS#12565

Change-Id: I1a7ec6c47f2ad0b5d6d72f3254d9627f9810687a
Signed-off-by: Rafaël Carré <funman@videolan.org>
2012-02-17 06:24:41 -05:00
Dominik Riebeling
f7fdf13468 Move manual tab contents to separate widget.
Create a new widget which holds the contents of the manual tab and its logic.
Unify its display / download code. Fixes FS#12587, which was caused by
duplicated code.

Change-Id: I5721d2a95ebeaf80481c1fd149eda22cf1328501
2012-02-14 21:10:54 +01:00
Dominik Riebeling
3933afcc09 Make configuration check reusable.
Instead of passing a parameter to decide if a dialog box should be shown pass a
pointer to the parent widget and make it static. This allows calling it from
outside while keeping the possibility to not show a warning.

Change-Id: I72fa53a7e8a83d527c22b698dfa434c24100ac29
2012-02-14 21:10:54 +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
779c2f3eb1 chinachippatcher: allow additional CFLAGS from the command line.
Fixes building 32bit linux binary on 64bit systems.

Change-Id: Ib58114a979e6aa426370477169a0875a66c9a9c2
2012-02-06 20:24:35 +01:00
Dominik Riebeling
13e640c2d6 Update version to 1.2.12, OS X specific file.
Change-Id: I08cd0939bfc7a7d3650ef0918524fb7d986172a9
2012-02-05 22:12:09 +01:00
Dominik Riebeling
3131dd529e Bump version to 1.2.12.
Remove svn information from the version string as well, since we don't have
this information anymore.

Change-Id: I0055e6cd9e5e6cb1aaf678d91db183f4bc2117fe
2012-02-05 22:06:30 +01:00
Rafaël Carré
db3afb03a2 Make sure we use POSIX/C99 printf() when building for windows
Change-Id: I429ed40dc2b9d4fb238762113bd40936df896df0
Reviewed-on: http://gerrit.rockbox.org/85
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-02-05 20:36:31 +01:00
Rafaël Carré
88cda7eb26 mkamsboot: fix some Clipv2 that we used to brick
On those models the software bootloader is entered through the SWI vector,
not through the reset vector like we thought.

Use put_uint32le() instead of memcpy
Use mov pc, #0x200 instead of b 0x200, so we can use the same instruction
for both vectors.

Tested on Clipv2 and Clip Zip

Change-Id: I99dc24167dde5558d34fe9795c65b44ff91aa665
2012-01-31 14:23:53 -05:00
Rafaël Carré
d1b47c2eeb Clipv2: fix button reading on some models
We neet to setup the XPD to work as GPIO
storage unaffected
Tested on working-already Clipv2 and on a 'brickable' clipv2

Change-Id: Idcbdfb6bd50d51b7f6f7e00b21df24fac9b3a6d8
2012-01-30 00:13:51 -05: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
Rafaël Carré
76440aa214 mkamsboot: ignore built files / folders 2012-01-24 17:00:26 -05: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
92fa7a846a Add alternate firmware filenames for e200v2.
Depending on the firmware version the filename is different, so it's necessary
to look for all the possible filenames when searching the file inside the zip.
The player happily accepts any of the filenames, so (as before) the first one
is used. Additional firmware filenames might be necessary for other players as
well.

Change-Id: If78444a8d9b7fe167ce0be1d58407038a4f9052b
2012-01-15 23:32:15 +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
85a3f3f6b0 Update copyright information for 2012.
We're still working on this.

Change-Id: I029f192dfa9ab6d125140ce778100af1b383fd1e
2012-01-14 13:06:34 +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
ab49b5e77b MSVC compatibility adjustments.
When using a global variable from a DLL with MSVC special handling is necessary
to avoid going through additional redirection.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31640 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 19:51:11 +00: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
f22ecf6726 MSVC: fix error in README and update librbspeex build folder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31594 a1c6a512-1295-4272-9138-f99709370657
2012-01-06 19:29:29 +00:00
Dominik Riebeling
ade55fd3d4 Fix "invalid settings" dialog appearing twice.
Instead of checking the settings on startup set only the device display.
Otherwise the settings are checked directly on startup and after finishing the
build information download, which leads to the configuration dialog getting
opened twice.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31593 a1c6a512-1295-4272-9138-f99709370657
2012-01-06 19:26:56 +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
ded02d82e7 Remove OS X special universal binary handling.
Since the libs are now build as universal libs there is no need anymore to
create separate binaries for both architectures and run lipo on them, just
build in a single run now. Fixes building universal binaries and dmg for all
tools using libtools.make.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31590 a1c6a512-1295-4272-9138-f99709370657
2012-01-06 09:24:38 +00:00
Dominik Riebeling
c6dcec4e0d Update OS X library building.
- As done with libucl and librbspeex, create universal libraries using ar
  instead of building twice and using lipo. This notably simplifies things.
- Allow overwriting the compiler via command line. This is required for
  building on OS X.
- Update Rockbox Utility to the changed library rules. Fixes building which was
  broken by the previous Makefile changes.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31588 a1c6a512-1295-4272-9138-f99709370657
2012-01-05 22:26:08 +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
f36f7825d7 Update displayed settings on startup.
Update the target values in the main window immediately on startup. Downloading
the target information might not complete successfully, and in that case a
previously selected target will not be shown. If the target information
download finishes the displayed values are updated again (to show target status
information).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31546 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 21:52:19 +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
Dominik Riebeling
1f0e653038 Fix cross compiling on OS X.
- The OS X specific flags must not be set when cross compiling. Check for a
  MinGW compiler on OS X before adding them.
- Do not set CC explicitly in chinachippatcher, it will be set from Rockbox
  Utility's Makefile.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31527 a1c6a512-1295-4272-9138-f99709370657
2012-01-02 17:45:16 +00:00
Dominik Riebeling
d7b8b10fec Remove unnecessary include.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31526 a1c6a512-1295-4272-9138-f99709370657
2012-01-02 17:09:30 +00:00
Dominik Riebeling
97ac4c0e34 Rockbox Utility: update building libs.
- Build libs in a libs/ folder below the build folder. This makes it easier to
  remove them when cleaning the build directory.
- Pass flags via environment instead as parameters to make. Hopefully fixes
  problems when using QtCreator on Windows.
- Respect silent config option when calling the lib Makefiles.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31525 a1c6a512-1295-4272-9138-f99709370657
2012-01-02 16:59:29 +00:00
Dominik Riebeling
c5530d9258 Allow passing additional CFLAGS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31524 a1c6a512-1295-4272-9138-f99709370657
2012-01-02 16:59:26 +00:00