1
0
Fork 0
forked from len0rd/rockbox
Commit graph

1167 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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