Commit graph

1710 commits

Author SHA1 Message Date
Dominik Riebeling
d1598cfa85 Add information about compiler used to startup log.
Change-Id: I47442ea0458461d0ae0a1af40e7719f8543b1992
2015-05-02 16:52:14 +02:00
Dominik Riebeling
09a25deeea Apply -Wno-unused-local-typedefs for gcc only.
Change-Id: I098882ea1c1a3f5265a763046400d79aed8eb43f
2015-05-02 16:52:14 +02:00
Dominik Riebeling
9ecfe6151b Separate logger / quazip project file parts.
Move to separate project include file for better readability and reusability.

Change-Id: If75805be8fad4aec8ede600f5c616a9412ac0505
2015-05-02 16:52:14 +02:00
Dominik Riebeling
b230cf3aa2 Update quazip to release 0.7.1.
Update to latest quazip release. Note that quazip is now LGPL and not GPL /
LGPL dual licensed anymore.

Change-Id: Ie1e975b5b546dd31218eef9df472527493fe81e0
2015-05-02 16:52:14 +02:00
Dominik Riebeling
d4fee36971 Remove unnecessary Id line.
Change-Id: I48428eb1e455a841f9f1295cf6a61631bd925977
2015-05-02 16:52:13 +02:00
Dominik Riebeling
4fb4de362c Update german translation.
Change-Id: Ieb9b94d39009db4954df05cc1f54161b76b44f61
2015-05-02 16:52:13 +02:00
Dominik Riebeling
72b81c2559 Improve update check information dialog.
Show the user both the current and updated version.

Change-Id: Ief693cce020a39a0c79bf2705da4a44b7bd15928
2015-05-02 16:52:13 +02:00
Dominik Riebeling
43b1ccffcc Add note to boot OF for update with OF on uninstallation.
Change-Id: Ia2955ecc9616eaa91644970ef81320e23a7970a0
2015-05-02 16:52:13 +02:00
Amaury Pouly
98a69ec500 mkimxboot: fix usage message
Change-Id: I7a7a2c56c434525ac242f447dd8bb287d5fc69eb
2015-03-08 22:57:29 +01:00
Семён Жуковский
1865efc021 Update Russian and French rbutil translations.
Change-Id: I52a42309b27b44463061f36a98b131d82a58a293
2015-02-22 13:30:48 +01:00
Udo Schläpfer
cef17e3d59 iBasso DX50/DX90: Rockbox loader, replacement for original firmware MangoPlayer.
This loader is needed to use Rockbox on iBasso DX50/DX90 devices. It replaces
/system/bin/MangoPlayer.

It expects
- the original firmware MangoPlayer as /system/bin/MangoPlayer_original
- the chooser.bmp file as /system/chooser.bmp
- the rbmissing.bmp file as /system/rbmissing.bmp
- the usb.bmp file as  /system/usb.bmp
- Rockbox in /mnt/sdcard/.rockbox/ (internal device storage accessable via USB)

On first boot or if the device is booted with the hold switch engaged (upper,
locked position) this loader will let the user choose between Rockbox and the
orginal firmware MangoPlayer. It remembers the last choice and will start the
choosen player an following boots.

In the chooser screen
- the device can be powered off with a power button long press.
- Rockbox can be startet with the "Next/Fast Forward" button or by touching the
right part of the touchscreen.
- the orginal firmware MangoPlayer can be startet with the "Previous/Rewind"
button or by touching the left part of the touchscreen.

If Rockbox can not be found/executed than a "Rockbox is missing" screen will be
shown and the orginal firmware MangoPlayer will be started after 30 seconds.

This loader will (try to) restart Rockbox or the orginal firmware MangoPlayer if
something unexpected happens.

This loader can be installed via a customized firmware image (update.img) or
manually via the Android Debug Bridge (if you get adbd started on the device).

This is a rewrite and code clean up of the original submission, eliminating the
need for a custom Android Vold. This loader "knows", when Rockbox has exited due
to a USB mass storage connection remounting /mnt/sdcard and acts accordingly,
displaying a "USB connection" screen while waiting to restart Rockbox.

Change-Id: I2698e173437f9c7aa1ff40649a290220e2ee0439
2015-02-02 21:01:00 +01:00
Thomas Jarosch
2a3e1628a5 Limit more variables to file scope
Change-Id: I30219d626316776eb73b4205d63376fa3dbc6361
2015-01-11 21:40:51 +01:00
Simon Rothen
0b5ad60c26 Introducing Targets iBasso DX50 & iBasso DX90
The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source
can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port
was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port.
The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port.
Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did
was to separate the code for DX50 (&DX90) from the android target.
On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it.
What else I changed from Ilias sources besides the separation from the target "android":
* removed a dirty hack to keep backlight off
* changed value battery meter to voltage battery meter
* made all plugins compile (named target as "standalone") and added keymaps
* i added the graphics for the manual but did not do anything else for the manual yet
* minor optimizations

known bugs:
* timers are slowed donw when playback is active (tinyalsa related?)
* some minor bugs

Things to do:
* The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the
  official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with
  ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights.
  Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go.
* All the wiki and manual

to build:
needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed

./tools/configure
select iBasso DX50 or iBasso DX90
make -j apk

the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed)
the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed)

The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There
is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary.

Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his
bitbucket page, using the CWM-OF and his installation script package.

Change-Id: Ic4faaf84824c162aabcc08e492cee6e0068719d0
Reviewed-on: http://gerrit.rockbox.org/941
Tested: Chiwen Chang <rock1104.tw@yahoo.com.tw>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-09-18 18:19:01 +02:00
Dominik Riebeling
79a56fabb9 Compile imxtools as gnu99 standard.
With current MinGW using c99 as standard the compiler causes problems with some
types.  Use gnu99 standard instead which doesn't do this.

Change-Id: I731f58025645ae88ac226593a2b2a62140285ee8
2014-06-30 17:58:37 +02:00
Dominik Riebeling
7de2a364d0 Add note about translations to MSVC build instructions.
Change-Id: I06ed441801f50a7331d7610beaf6535f6ec0c602
2014-06-30 17:57:24 +02:00
Dominik Riebeling
d30c500b96 Make clean target work for MSVC dll Makefile on Windows.
Change-Id: Ifb9a00530720e0997421af9a07ae8c133f0edfd0
2014-06-30 17:57:24 +02:00
Daniel Kluz
1879de7ba3 Update polish translation for Rockbox Utility (FS#12979)
Change-Id: Iaca68eb72e030964b5692d03b03e312b8b05b05a
2014-05-25 15:48:08 +02:00
Dominik Riebeling
896b771710 Fix crash when detecting a player in MTP mode.
Change-Id: I65bf6928584735d6a179750c313fb8e7dcf7add5
2014-05-24 22:57:25 +02:00
Dominik Riebeling
3136465c42 Improve MSVC support in project file.
Enable MSVC specifics by checking QMAKESPEC instead of depending on a qmake
command line switch.

Change-Id: I77f72acd6661d5d7bc5776cc2dc877a11920dc7e
2014-03-23 20:47:45 +01:00
Dominik Riebeling
202717d18f Fix MSVC not knowing inline for C code.
MSVC needs to use __inline instead of inline when compiling C code (the inline
keyword is only avaliable in C++). Use the preprocessor to work around this.

Change-Id: Ic9884a7421cee7dc7c943ab205312f50233fb100
2014-03-22 22:25:21 +01:00
Dominik Riebeling
d85a84fc83 Add msvc qmake config option for building with MSVC.
When building with MSVC we need to add the msvc folder to the include list, and
remove the libraries from the dependencies since they need to get built
separately.

Change-Id: I297787f32495da4541c67bfef549b4d1ad68dd18
2014-03-22 22:20:48 +01:00
Dominik Riebeling
258e4ad850 OS X: detect clang and build for x86 target only.
Newer versions of Xcode / OS X don't support PPC code anymore and replace gcc
with clang. When clang is detected assume we want to build for the default
architecture only and change the minimum OS X version to 10.5.

Change-Id: I5843fa9bb3d957ec6f0a537e857608ad99c31517
2014-03-20 22:26:24 +01:00
Dominik Riebeling
c18908d6bd OS X: update project file for Qt5 support.
- Qt5 doesn't support PPC anymore, so always build for x86 only.
- Qt5 requires the use of the multimedia module (as Windows).

Change-Id: I7d54faffe9d2fb557f55234ba7b81a508d92a38b
2014-03-20 22:26:24 +01:00
Dominik Riebeling
06a2e7c3bb OS X: use FSGetVolumeParms when targeting 10.5+.
PBHGetVolParmsSync() is not available when building with 64bit. The replacement
FSGetVolumeParms() is available on 10.5+ only. Use the latter when building
with target version 10.5+. This requires builds targeting 10.4 to 32bit and
allows building as 64bit when targeting 10.5+.

Change-Id: Ic53217f3090147bea473613335f9482623a470bd
2014-03-20 22:26:23 +01:00
Dominik Riebeling
f8e3b61565 OS X: don't include libusb headers.
We don't use libusb on OS X anymore, so don't include it anymore.

Change-Id: I32b721e097e5958a2e7359ccd79bf2d3b2d0ad9d
2014-03-20 22:26:23 +01:00
Dominik Riebeling
56a9255583 OS X: change include paths to use actual paths.
The old include path is actually a symlink for compatibility. Newer SDK
versions remove that symlink to the include breaks.

Change-Id: I74317557840f1886cebc1ce099e103dc415eabc0
2014-03-20 22:26:23 +01:00
Amaury Pouly
61dbeb60b7 mkimxboot: don't forget to select LRADC source before reading
Change-Id: I3435857f48580d7b3bf9363a2eed96738fbda69a
2014-02-10 23:14:25 +01:00
Dominik Riebeling
7df8ebf263 Use new ipod6g player image for ipod6g.
Change-Id: Ia010373529df3f9bed3f40f5372d8bc1fd9769fb
2014-01-27 19:55:39 +01:00
Amaury Pouly
6022d3100a mkimxboot: tool can now recreate a stub to recover from very low battery
Several devices, including the Fuze+ have great trouble recovering from
very low battery states, even in the presence of USB power. This is partly
due to buggy Sigmatel boot stubs and Rockbox bootloader doing unsafe power
operations on boot (should be fixed soon).  In such a state, it is impossible
to boot either the OF and Rockbox, so only the recovery mode is available.
With this commit, mkimxboot can now create a very small stub which only
does one thing but does it well: setup charging to recover from any situation.
It does not provide a fancy charging screen or whatever, screen will just
stay black and the device will slowly charge at ~100mA. When the battery is
back to a normal level, just unplug and boot normally.

Change-Id: Ib50880af85ed1f4f64a7eed0f2221e73c889c351
2014-01-21 19:01:34 +01:00
Amaury Pouly
cddf388f76 mkzenboot: reflect ZEN V target id change
Change-Id: I0bad98b43e1a23c9432f4bdfe78dc77ead7879a8
2014-01-21 19:01:08 +01:00
Amaury Pouly
1b3ae498cd mkimxboot: fix strange MD5 sum about ZEN X-Fi3
This old sum didn't match the US or EU 1.00.25 version and the actual ones were
missing.

Change-Id: I942641e5f367ab45794cb93a8b26b87962172216
2014-01-21 18:52:28 +01:00
Amaury Pouly
69d0dae55b Initial commit for the ZEN X-Fi Style
Change-Id: Ib25a357a7bafd2ef25f273cadff70fafbd8d4661
2014-01-21 18:52:28 +01:00
Dominik Riebeling
1e1b21591d Bump Rockbox Utility version to 1.4.0.
Change-Id: I56cb05e2367a24341af6a8feb70f291628e78797
2014-01-05 21:44:28 +01:00
Dominik Riebeling
17a1867c9c Fix rm function on Windows once more.
Windows del doesn't handle a non-existing folder gracefully, so check for
existence first.

Change-Id: I9c401f3f3a3e1e01b80d29e335256fbf3db22d35
2014-01-05 17:08:50 +01:00
Dominik Riebeling
82b30de20f Fix rm function on Windows.
Windows del doesn't handle paths with / as separators, need to convert them
first.

Change-Id: Idb3efa96167aec5666517feabab67385ebd2db1a
2014-01-05 17:05:11 +01:00
Dominik Riebeling
f3a1a33b9f Fix rebuilding of libs on OS X.
OS X ar operates on fat libaries. In this case updating the library isn't
possible and when those change ar will only return an error. Remove the output
file prior to running ar to work around this limitation.

Change-Id: I7ebc66efd092a8e6037ae86a3658afe6b4da777f
2014-01-05 16:55:23 +01:00
Dominik Riebeling
660c8d0eff Add missing german translations and lupdate remaining ones.
Change-Id: I1bf100e17170d3845a54267e74f1a2fa8e84b7e5
2014-01-05 16:31:43 +01:00
Dominik Riebeling
2e40f313cf Update french Rockbox Utility translation.
Thanks to lebellium for updating.

Change-Id: Ic8f14f358a28202d3c6d88b24ec45b8106d590e0
2014-01-05 16:31:43 +01:00
Dominik Riebeling
b91ec7ec6d Make some missing strings translatable.
Change-Id: I566bb9ea16b9e5e3f46e81393c07d3c13a748a63
2014-01-05 16:31:42 +01:00
Dominik Riebeling
ceff06377d Update german Rockbox Utility translation.
Change-Id: Ie2751f3cea518a01b0bd17f69b5d72ece286bc14
2014-01-05 16:31:42 +01:00
Bertrik Sikken
6a3fd9a2bb Dutch (nl) translation update of RockboxUtility
Change-Id: Id0917e12e5e6dfe9360aa58506c6d894e74145de
2014-01-05 15:34:39 +01:00
Dominik Riebeling
473b26f5e2 lupdate all translations.
Change-Id: Iac3462ba5191b3b7e3f2a37c67119685e1931a6f
2014-01-05 14:00:58 +01:00
Dominik Riebeling
72da9be702 Drop year from (c) notice in Rockbox Utility.
Instead of having to update it every year just drop it. We have the build date
in the binaries we provide, and the years it has been developed can be
retrieved via git anyway.

Change-Id: Ib33ee851883146509034c405cd65552a0f67194e
2014-01-05 14:00:58 +01:00
Dominik Riebeling
827a03b12d Fix potentially problematic sprintf statement.
Change-Id: Ice0d7b0d4c042be991cdbca7a390b613b5bdc5a6
2014-01-05 14:00:58 +01:00
Dominik Riebeling
21ff83295e Update changelog.
Change-Id: I81491530d712fde8cc0912d4ede26ce1db55a6df
2013-12-21 13:27:49 +01:00
Dominik Riebeling
587576437a Fix recorderv2 manual.
archosrecorderv2 uses the archosfmrecorder manual.

Change-Id: I015272db750b2fc5054d8259b37f00e0698afbff
2013-12-21 13:27:49 +01:00
Amaury Pouly
977a6c3ce7 Initial commit for the Creative ZEN V
Change-Id: I3408cfdf742ea5995d5c87bf76653f436e1ec2b0
2013-11-18 21:44:06 +00:00
Amaury Pouly
192f3020f8 mkimxboot: add NWZ-E380 1.0.0 firmware
Since E380 is just rebranded E370, mark it as E370

Change-Id: I2eb7dac9ff18a7dbbd26c44b8784207e54f48dd0
2013-11-13 21:37:52 +00:00
Dominik Riebeling
0372a52e39 Add missing entry to changelog.
Add a missing entry and treat changelog file always as UTF-8.

Change-Id: I847c399ddf6d8aacf155864fbd9109121a761bc5
2013-11-12 22:54:22 +01:00
Dominik Riebeling
17a781d8b2 Move LDOPTS to the end of the linker call.
Command line order is important with newer gcc versions. mkzenboot extends
LDOPTS but the linker would ignore that since no object using it has been
mentioned on the command line. Moving it to the end should fix this.

Change-Id: I081e86fa88f95dba6077a50f2b4315bf3a805ae5
2013-11-12 22:51:59 +01:00
Dominik Riebeling
3c6f3945dd Suppress some unused variable warnings in libmspack.
Change-Id: Iccc98cf2092a5a0101021e24b051c42743b9becf
2013-11-12 22:43:16 +01:00
Amaury Pouly
5e43c055b5 mkzenboot: add Zen X-Fi firmware 1.04.08
Change-Id: Ic13aac09a7dc321abb23c6ffadd060f4ca5ce4fa
2013-11-11 20:34:55 +00:00
Dominik Riebeling
c49a447dd0 Update changelog.
Add changes merged via Gerrit to changelog.

Change-Id: I230b1cb17f3ab78bfff6c2ac990735ab05b9a6d5
2013-11-04 23:44:59 +01:00
Dominik Riebeling
bd874c00e1 Fix changelog showing up too often.
- Prevent the Changelog showing up when closing the configuration dialog if
  "Show on startup" is enabled.
- Increase dialog size a bit.
- Detect and link Gerrit IDs.

Change-Id: I049be3c38a57b2559f2a78392b785fa51ec99dc1
2013-11-04 23:43:34 +01:00
Dominik Riebeling
dd0d52ee0f Handle conversion to text in Sysinfo::getInfo().
When saving the system info from the progresslogger it shouldn't have knowledge
about the format of the data provided by getInfo(). Instead of relying on the
output being HTML formatted make getInfo() accept a parameter that indicates if
the data is to be formatted as HTML or text.

Change-Id: I733fe1a148e51b70ea1361d8feccffd7cbccd3d7
2013-11-04 23:32:57 +01:00
Dominik Riebeling
646f74937f Fix compiling with MSVC.
MSVC doesn't understand the gcc specific -Wno-unused-local-typedefs option.
Don't add it in this case.

Change-Id: I7ffb6c0c9c797eaad85975199c386020c464ca7b
2013-11-04 23:32:57 +01:00
Dominik Riebeling
2b054e6135 Fix cutelogger with MSVC.
We're compiling cutelogger directly, not as DLL. Therefore we must not add
__declspec attributes to the header.

Change-Id: I41b87fd4ba34dfbcd0d37245ff1c1f279139bb33
2013-11-04 23:32:57 +01:00
Dominik Riebeling
4d2ce949b3 Use cutelogger for Rockbox Utility internal trace.
Change tracing from qDebug() to use cutelogger, which is available under the
LGPL2.1. This allows to automatically add filename and line number to the log,
and also provides multiple log levels.

Change-Id: I5dbdaf902ba54ea99f07ae10a07467c52fdac910
2013-11-04 23:32:52 +01:00
Amaury Pouly
335ec75d60 Add support for the ZEN X-Fi3 to rbutil
Change-Id: I086bc2fbdaf29fad3f6f08b198eb13d21e09dd78
Reviewed-on: http://gerrit.rockbox.org/419
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 23:06:46 +01:00
Amaury Pouly
6375c47f03 Add support for CAB archives to rbutil
Change-Id: Ia8b4953343caf8bc2b3c5a6cfd53c921c6d082b1
Reviewed-on: http://gerrit.rockbox.org/418
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 23:00:23 +01:00
Amaury Pouly
289acf3333 Fix libmspack to compile with rbutil
The build system used by rbutil is not very robust: all the files
are eventually compiled to the same directory so we cannot have
two files with the same name (system.c would conflicts with
system.cpp) so rename one file to avoid this. Also change all
include directives to local ones because we don't have to expose
the entire mspack source to inclusion.

Change-Id: I3fe0638d69fdc30566eb9425abfe33c807678b28
Reviewed-on: http://gerrit.rockbox.org/417
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 22:15:00 +01:00
Amaury Pouly
739a7ae0e9 Add libmspack to rbutil
Change-Id: I520c14131ec1e12013f106c13cba00aac058ad83
Reviewed-on: http://gerrit.rockbox.org/391
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 22:14:17 +01:00
Amaury Pouly
2e0c558064 Introduce rbutil/mkzenboot, a replacement for tools/mkzenboot
The old tools/mkzenboot has a number of problems: very hard to maintain,
poor integration with rbutil. Restart from scratch by recycling all the
crypto and descrambling code, rewrite the actual firmware modification part
to handle all scenarios in a much clearer way. The code is ready to be
integrated into Rockbox Utility, by using the very similar interface to
mkimxboot.
I copied all the keys from the old mkzenboot, so it can potentially support
the older Creative ports, but since this is untested, I prefer not do so
at the moment. However, I did add a "mixed" boot option to support the
dualboot style used in the older ports.

Change-Id: I80cfc48fa78187baa1b1692e8a30ec7137cea37b
2013-10-22 00:48:33 +02:00
Amaury Pouly
a31c50ff46 Remove useless braces
Change-Id: I88cce98cd8cc04f0245fba8ef30434167df483fc
2013-10-21 23:58:32 +02:00
Lorenzo Miori
5ab4e90ac4 fwpatcher/rbutil - added support for H300 v1.31K
Change-Id: I4e0801f136f9b9e490209c0808eabfc334f46643
Reviewed-on: http://gerrit.rockbox.org/630
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-10-01 14:01:15 +02:00
Dominik Riebeling
8df12c63b8 Implement a first, simple changelog dialog.
When Rockbox Utility is started for the first time, a new version is started or
the user selected to do so on startup a changelog window is shown.

Change-Id: Ic223e092a09d31ccbbfcd9b973355225cac27632
2013-09-30 23:42:21 +02:00
Dominik Riebeling
1977281bb3 Use function for updating detected device entry.
Use a function instead of looking for an existing entry and creating a new one
if necessary every time.

Change-Id: I7b385dad7366f27370545a7d1a9f7052510cca11
2013-09-30 23:42:21 +02:00
Amaury Pouly
d13e5b964e mkimxboot: add NWZ-E370 1.0.1 firmware (US)
Change-Id: I49ddcbe2f5c1c3aabc604b81b89272cf0292e28e
2013-09-28 12:14:45 +02:00
Amaury Pouly
b60712deb6 sonynwz: rework dualboot mechanism
Now boot to RB if play/pause is pressed during 1 second, and to OF if
back is pressed 1 second. Otherwise power off. If hold is on, also power
off. In USB and alarm context, always boot and back determines OF vs RB.

Change-Id: Ie1d6c971901d6473255461cc7d71a5ee3177ecad
2013-09-26 20:19:30 +02:00
Amaury Pouly
d527c5595c mkimxboot: always clean up dualboot elf files
Change-Id: I80ed1af784aa80bec9fa0b1e9322f25e69672510
2013-09-26 20:14:09 +02:00
Amaury Pouly
6ac481e8bc Add support for the sony NWZ-E360/E370 to mkimxboot
Change-Id: Ied73591326339d22b4f21d311da9e6b1b9c223ed
2013-09-25 14:31:39 +02:00
Dominik Riebeling
5d9086bcbe Handle ambiguous state in configuration dialog.
If a single player is detected it might still have ambiguous as state due to
the mountpoint not being found. Make sure to display a sensible error message
in that case.

Change-Id: I7d62e739019b26a583fe6aab502d0f870e67587e
2013-09-18 23:37:39 +02:00
Dominik Riebeling
5c31063a3f Add "FAT" as supported filesystem on Windows.
In some cases Windows reports the string "FAT" (without any type number).
Accept that as well.

Change-Id: Ia278ccc574913106cb5ca6751af70125f769c59c
2013-09-18 23:37:39 +02:00
Dominik Riebeling
b943c59f35 Rework autodetection to better handle ambiguous cases.
The old detection code simply assumed only one player to be connected and threw
all information it could find together, causing wrong results in various cases.
Rewrite it to better handle this.

- Don't expect only a single player to be attached. Return a list of players
  found instead. The configuration dialog can then show the user a list to
  select from. This is not implemented yet, the configuration dialog will only
  show the devices found and tell the user to disconnect all but one.

- Handle ambiguous cases better. A player found that is ambiguous is treated as
  such, and if refining the result didn't lead to a single match for each
  possible player a single entry is created that indicates it being ambiguous.

The current code needs a bit of additional cleanup (the result exposes internal
data to the caller it shouldn't) to be done later.

Change-Id: I22dc2f73cdd6a9d90c34f3a0703aa9e0a2d2087a
2013-09-18 23:37:39 +02:00
Dominik Riebeling
fe45f8f090 Show mountpoint on multiple devices found message as well.
Change-Id: I315813646ee3fe3b510510e99e2dbf88c649f4d8
2013-09-18 23:37:39 +02:00
Dominik Riebeling
f3b56eba58 Handle multiple devices with identical USB IDs correctly when listing.
Use insertMulti() instead of insert() when adding found USB devices to the
list. This means the keys of the list will now be ambiguous. This is not a
problem since the value is only used to display the user a nice string.
Previously we'd loose two identical devices attached to the system since the
second one would overwrite the first.

This does not apply for Windows, since Windows will list each function of a
composite device. This results in a device running Rockbox (with HID enabled)
showing up twice, which isn't wanted.

Change-Id: I1306b71122a210c55871ff8e14d2b5a04012cc4e
2013-09-18 23:37:39 +02:00
Dominik Riebeling
935c7fbff7 List detected devices if multiple are found.
In preparation of giving the user a list to choose from add displaying a list
of all devices connected. Since devices might be ambiguous (multiple devices
share the same USB ID but detecting by other means failed) the listed devices
might exceed the number of actually attached ones.

Change-Id: Ice52da15523e5f3493a6fb687392301c4d5b8a36
2013-09-18 23:37:38 +02:00
Dominik Riebeling
3dcf833edd langstat: improve code style a bit.
Change-Id: Ide53de01282fa49640e490a02a6e20abf4d6605a
2013-09-18 23:37:38 +02:00
Amaury Pouly
a2d4a4a560 mkimxboot: fix crash
I was too aggressive when converting reads to standard reads, this
one is memory based and not file based

Change-Id: Ibe7162894cc44cbd79f56cafe7136bda0f76bcdc
2013-08-22 17:49:50 +02:00
Amaury Pouly
05bd3e4cd2 mkimxboot: add entry for ZEN X-Fi3 1.00.25e firmware
Change-Id: I2c6cc4003bcc96662211fa066dd9e6e438b7e258
2013-08-22 00:48:55 +02:00
Amaury Pouly
99f3ca174e sbtools: more code refactoring
Factor all printf method with a unique one defined in misc.h

Change-Id: I58fbf8916b76e873a2e6678506d2c8aece7834ec
2013-08-21 22:20:53 +02:00
Dominik Riebeling
ce714cb023 Note skipped mountpoints to log when populating dropdown list.
Helps in cases the dropdown list doesn't show an expected entry.

Change-Id: I7236c6dd8504dc3a6889443efd7de7bcda90b8a3
2013-08-18 18:59:06 +02:00
Dominik Riebeling
ee55acdc93 Fix typo in source string.
Change-Id: Iaa3f3c34b6f6931a6620dfbe3d24cf6a57b96e77
2013-08-18 18:49:08 +02:00
Michael Sevakis
a56f1ca1ed Cleanup MV/MD macros a little.
When using variadic macros there's no need for IF_MD2/IF_MV2 to deal
with function parameters. IF_MD/IF_MV are enough.

Throw in IF_MD_DRV/ID_MV_VOL that return the parameter if MD/MV, or 0
if not.

Change-Id: I7605e6039f3be19cb47110c84dcb3c5516f2c3eb
2013-08-17 12:18:22 -04:00
Amaury Pouly
cb8274373b sbtools: more printf fixing
Change-Id: Id617297c196b381fd1c381da3eff4345e3157529
2013-08-10 21:37:27 +02:00
Amaury Pouly
21672ba31c mkimxboot: fix red
Change-Id: Id5d27fc00969b6999df665e7182b7ff27bccfacd
2013-08-06 21:24:39 +02:00
Amaury Pouly
da8ebcec2f mkimxboot: code simplification
Change-Id: Ic16334c262ee5bce3575c306440f7e1de2b247f9
2013-08-06 21:24:38 +02:00
Bertrik Sikken
93de093690 mkamsboot: add support for clip zip original firmware 01.01.21 (tested by me)
Change-Id: Ief8a8e6dfe87a17285dd5259fd3c4cebfc962643
2013-07-12 22:23:36 +02:00
Amaury Pouly
03a4ba5481 mkimxboot: rewrite dualboot
Rewrite dualboot in C code instead of assembly. Also properly
handle subtarget and simply Makefile. This should make the
dualboot stub more readable and easier to extend. The new code
also gracefully handles power up from RTC alarm on imx233.

Change-Id: I7c225254b1463a97e76b6cb4de476aa2d2c9d2f9
2013-07-07 17:36:21 +02:00
Amaury Pouly
55babd5895 mkimxboot: add zen style 100/300 firmware to the list
The tool cannot produce any firmware yet but it can extract the
OF from the installer.

Change-Id: I98684b2bf43310443d93b482aa853464f6f87fa8
2013-06-18 15:02:01 +02:00
Amaury Pouly
d561017f35 mkimxboot: factor code, add support for ELF files
Refactor code.
This tool can now either load a scrambled rockbox
firmware (in which case the model is check against the
firmware), or any ELF file. This is useful for example
for hwstub which produces a ELF file and still needs
to be loaded by producing a SB file.

Change-Id: I7aa381b3f6587788d1950793e89ce5608c53cccc
2013-06-16 02:14:52 +02:00
Amaury Pouly
7c7fa36918 sbtools,mkximboot: fix whitespace
Change-Id: I8d8adb783707172d1aaef302366c240310350ed8
2013-06-15 22:27:34 +02:00
Amaury Pouly
58e27b9fa1 mkimxboot: refactor code, no functional change
The mkimxboot was becoming messy with juge functions and
redundant code. Factor reading/writing/loading code into smaller
functions. Introduce the concept of rockbox firmware to simplify
support of other formats than scramble.

Change-Id: I3a61295ca5abca1a0eee8c9e8709c6b8dfa256a6
2013-06-15 22:27:34 +02:00
Amaury Pouly
6483e23f07 mkximxboot: fix usage() formatting
Change-Id: I2f708e2830168f481018b8d8ce98134e40b4e8f8
2013-06-15 22:27:34 +02:00
Dominik Riebeling
67e1de7b43 Only show mountpoints containing a supported filesystem in dropdown.
Change configuration to use filtered mountpoints list. Add HFS+ to the list of
supported filesystems -- while Rockbox doesn't run on HFS+ MacPods will use
that format, and not having them in the list will then make OS X users wonder
why their Ipod isn't showing up. This might need to get revised later.

Change-Id: I5eeeb05be6780cb3952a0081df0ce782eca01589
2013-06-09 19:51:08 +02:00
Dominik Riebeling
a2c3e3fd0d Add note to AMS bootloader installation about OF file.
Some devices contain a bin file in the root folder of the player. This caused
confusion a couple of times, since the installer asks for a bin file. Add a
note that the required file is not present on the player and will get removed
automatically.

Change-Id: I6cd5c25b319770555c3939377a3ed86ed3181dad
2013-06-09 19:51:08 +02:00
Dominik Riebeling
11280e20cc Don't pass -Wno-unused-local-typedefs on OS X.
OS X' gcc 4.0 (still used to be able building fat binaries) doesn't ignore that
option and instead errors out.

Change-Id: Id5927ff04dc606480af9add554eeaa75c169510f
2013-06-09 19:45:16 +02:00
Dominik Riebeling
33bda05469 Treat arch flags separately when building libraries.
On OS X we're passing -arch twice which dependency generation doesn't like.
Since we don't have dependencies that differ between architectures simply don't
add them during dependency generation.

Change-Id: Ie3d58bf9af31edcacb88345c7debf39eb798e302
2013-06-09 19:43:37 +02:00
Dominik Riebeling
280a0eb27e Fix temporary files stored in current folder on first start.
If Rockbox Utility has no configuration file on the machine updateSettings()
will overwrite the global cache folder settings with an empty string before the
value is set properly by the user confirming the configuration dialog.  QDir()
getting an empty string will result in the current working directory getting
used, and thus the temporary files ending up there.

On Windows most users are unlikely to have noticed this since running the
executable from within the distribution zip file will make Windows execute it
in the systems temporary path.

Change-Id: I7724a82af403955786798c7380198086837e128f
2013-06-09 16:55:15 +02:00
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