Both mkmpioboot and mkamsboot use an array model_names which clash when
linking with Rockbox Utility so don't export the mkmpioboot one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28690 a1c6a512-1295-4272-9138-f99709370657
If the proxy dialog doesn't contain any values searching for the values in the
system returns NULL pointers instead of empty values. Check for them to fix
crashes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28212 a1c6a512-1295-4272-9138-f99709370657
Since the current MinGW version behaves differently here explicitly link
libstdc++ and libgcc statically. Avoids dependency to those DLLs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28152 a1c6a512-1295-4272-9138-f99709370657
Since Qt 4.7 unescaped backslashes are deprecated so escape it. Change
the order of the version check message to make sure it gets displayed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28149 a1c6a512-1295-4272-9138-f99709370657
Qt wraps tooltip texts automatically when it detects the text to be Rich
text. Embed the tooltip text into <p> tags to get it recognized as such.
Manually update translations to avoid the need to retranslation that
line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28117 a1c6a512-1295-4272-9138-f99709370657
Oops: on Windows, ask the system about the values before displaying it instead
of expecting the structure to fill itself.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28107 a1c6a512-1295-4272-9138-f99709370657
Since Rockbox Utility got support for utilizing more than one CPU / Core
this value might be helpful in case of issues like FS#11496 (QThreadPool
defaults to the number of CPUs found as maximum number of threads).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28106 a1c6a512-1295-4272-9138-f99709370657
Instead of using libusb as wrapper query the USB IDs via IOKit. Since libusb is
only used for that this means that it's no longer necessary on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28001 a1c6a512-1295-4272-9138-f99709370657
Make sure to not try to dynamically link libspeex on Mac, since it's not a
standard library, and application bundles aren't statically linked anyway.
Remove looking up libspeex on Windows since it's not a standard library there
either. Don't search for libspeex multiple times but instead pass it to the
librbspeex Makefile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27999 a1c6a512-1295-4272-9138-f99709370657
This doesn't change building of the used libraries, so librbspeex etc. are
still built as universal libraries. Building for Intel also targets 10.5 and up
instead of 10.4 and up which is targeted by default. Addresses FS#10938.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27997 a1c6a512-1295-4272-9138-f99709370657
Remove the plain text license file below the rbutilqt folder and move
the HTML variant to the top-level docs folder. It's all GPL, so there's
no need to duplicate those files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27996 a1c6a512-1295-4272-9138-f99709370657
Since the builds for the Ipod Video 32MB and 64MB are now unified there
is no need to handle them separately in Rockbox Utility anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27966 a1c6a512-1295-4272-9138-f99709370657
Also move scripts to utils folder, in preparation of merging rbutil and
utils folders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27600 a1c6a512-1295-4272-9138-f99709370657
Move actual working functionality into a python module, and write a
simple script to use it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27598 a1c6a512-1295-4272-9138-f99709370657
The device string containing the USB IDs differs in casing on Windows 7
so always convert to upper case before scanning the string. Use
DEVICEDESC instead of LOCATION_INFORMATION for the user visible device
string as the latter doesn't show anything useful to the user on W7, at
least for the devices I've tried. Unfortunately DEVICEDESC is less
descriptive than the previously used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27561 a1c6a512-1295-4272-9138-f99709370657
These models are restricted to OF >= v02.3.31, probably because of a
hardware change
The OF checks a version string located between 0x0 and 0x200 in the
firmware block, so let's keep this part unmodified
We put our dualboot code at 0x200, and insert a branch + vectors at 0x0
That way our patched file will present the OF version to the fuzev2 OF
patching it, and we only waste 512 bytes on other models
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27441 a1c6a512-1295-4272-9138-f99709370657
zlib is required by the zip class. Explicitly link it instead of relying it to
get implicitly linked via Qt. Fixes link errors on distributions with implicit
linking disabled. Don't do this on Windows as things are different here.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27251 a1c6a512-1295-4272-9138-f99709370657
Improve string suffix handling by distinguishing between version number
separators (i.e. dots) and extended separators and additional version
characters. Corrects false update information displayed for 64bit binaries of
Rockbox Utility.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27201 a1c6a512-1295-4272-9138-f99709370657
This issue has been pointed out as FS#11420. Redone by myself because the
change is trivial and the submitter didn't state his real name.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27061 a1c6a512-1295-4272-9138-f99709370657
- Update german translation.
- lupdate all other translations and drop obsolete strings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26932 a1c6a512-1295-4272-9138-f99709370657
Those classes use Qt objects anyway, and making them based on QObject moved the
strings into the appropriate class when translating.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26931 a1c6a512-1295-4272-9138-f99709370657
Instead of hard coding the languages to be rendered as RTL make it dependent on
a translation string. Translate the string LTR to RTL to switch to RTL layout.
This is equivalent to the handling done in the i18n example for Qt Jambi and
while not the best solution at least cleaner than hardcoded languages.
Update hebrew translation for this which is currently the only RTL translation.
lupdate all other translations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26865 a1c6a512-1295-4272-9138-f99709370657
upx doesn't like the Rockbox Utility binaries built with MinGW's gcc 4.5.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26794 a1c6a512-1295-4272-9138-f99709370657
The version check failed on subrelease versions (as the 1.2.5-1 rebuild done
for Mac) and detected an updated version that is in fact an outdated one.
Rework the comparison completely, move it to the Utils class and display some
more information in the status bar upon update check. Especially keep a notice
in the status bar if an updated version was found.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26788 a1c6a512-1295-4272-9138-f99709370657
This allows easier reuse for other tools (like the theme editor).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26702 a1c6a512-1295-4272-9138-f99709370657
As with the voice file installation changed in r26637 the same issue exists for
fonts. While the fonts package rarely changes and therefore this shouldn't
have had a negative impact in the past use the correct font package anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26667 a1c6a512-1295-4272-9138-f99709370657
Check the installed Rockbox and install release voice file if a release is
found. Fixes wrong voice file getting installed for releases, which especially
showed up with the recent lang file cleanup. This is likely to be the cause for
FS#11362.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26637 a1c6a512-1295-4272-9138-f99709370657
This allows reusing retrieval for upcoming distinguishing between release and
current voice files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26636 a1c6a512-1295-4272-9138-f99709370657
To allow the theme site handling different versions of the theme syntax
transmit the revision number and release number (whatever applies) to the
server. A later update to the theme site can then return a theme list with
themes compatible, and include the correct download links.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26625 a1c6a512-1295-4272-9138-f99709370657
Downloading the build information was done before setting the global proxy
values, so this broke in environments that completely block non-proxy
connections. Explicitly set the proxy on startup before downloading other
things. Remove some duplicated code. Fixes FS#11163.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26504 a1c6a512-1295-4272-9138-f99709370657
Instead of constructing the download link with fixed script name put a template
into the system info file. That way changing the download link doesn't require
changing the code anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26495 a1c6a512-1295-4272-9138-f99709370657
libmkamsboot still did put files into its source folder when building for
Rockbox Utility out-of-tree. As with the other libraries use the specified
build folder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26335 a1c6a512-1295-4272-9138-f99709370657
The field we thought was representative of the model is not, it has
changed in the past for fuzev1 and fuzev2.
For example the value 0x23 is found in 2 old fuzev1 OF versions, and in
the c200v2 OF
The only reliable way to detect the model of a given OF is by using the
built-in list of md5sums.
Modify mkamsboot and rbutilqt to load the rockbox bootloader first, and
then check if the model in the bootloader corresponds to the model of
the known md5sum of the given OF.
That way we can continue to present the user with a list of known OF
versions in case the OF is unknown to mkamsboot
Also explicit the dependency of main.c on mkamsboot.h in case the
prototypes change
Correct the header's description not updated in r21648
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26248 a1c6a512-1295-4272-9138-f99709370657
To be sure that there is no mistake in this code, it is run *after*
the known to work HOME & LEFT buttons checks, unlike other Sansas
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26122 a1c6a512-1295-4272-9138-f99709370657
This make the system trace check for repeating lines, and only print a "(last
message repeated n lines.)" instead of the real message multiple times. This
keeps the trace much shorter if messages are repeated. The drawback is that the
replacement count message will only get printed on the next line getting
traced, so until that happens it swallows the repeated lines.
Before saving the systrace buffer is flushed, so this should not raise a problem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25878 a1c6a512-1295-4272-9138-f99709370657
Improve tracing of device name resolving. Explicitly fail if resolving the
device name from the mountpoint failed during ipod / sansa bootloader
installation. Fixes bootloader installation trying to use an empty device name
in some cases which can happen if the mountpoint to get resolved uses an
incompatible file system.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25743 a1c6a512-1295-4272-9138-f99709370657
With r24009 the manual used for Ipod Mini was changed from 2G to 1G, resulting
in Rockbox Utility not finding it anymore. Update manual name for both Minis.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25562 a1c6a512-1295-4272-9138-f99709370657
For hebrew, a special case handles switching to RTL. Make this work if the
language selection is done by the system environment, i.e. no language has been
selected by the user previously.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25518 a1c6a512-1295-4272-9138-f99709370657
Make the Windoes binary try to detect if it's running under Wine. Display a
warning if so, as Rockbox Utility is likely to fail in all kind of strange ways
when running on Wine. We do provide Linux binaries, so it's not even a good
idea to try running under Wine at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25471 a1c6a512-1295-4272-9138-f99709370657
Move class-less functions in utils.cpp into a new Utils class and make the old
functions static. This prevents clashes with system C functions. Rename some
functions to avoid macro problems (check() is a macro on OS X). Split out the
RockboxInfo class into a separate file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25441 a1c6a512-1295-4272-9138-f99709370657
Rockbox Utility doesn't support "proxy auto-config" (aka PAC) for system proxy
settings. This can result in users selecting system proxy and expecting it to
work even if their system uses PAC. While the configuration dialog displays the
proxy setting values retrieved from the system this is not totally obvious. Add
a message telling if the retrieved system proxy values are not useable. For now
this only checks if a proxy host and port are set which should catch the usual
cases when PAC is used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25435 a1c6a512-1295-4272-9138-f99709370657
Don't listen to requestFinished() signals for background downloads. The
only information needed is the done() signal. Fixes multiple error
messages popping up on unreachable network.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25430 a1c6a512-1295-4272-9138-f99709370657
This adds the Beast as disabled target. Note that bootloader installation isn't
implemented yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25412 a1c6a512-1295-4272-9138-f99709370657
Create a svg version of the clef icon for Rockbox Utility and set it as window
icon on Linux; icon created from the svg logo in the manual. Addresses
FS#11094.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25385 a1c6a512-1295-4272-9138-f99709370657
The System Trace isn't preserved when quitting Rockbox Utility. Change this so
the last trace is saved in the cache folder, and add a button to the trace
window to allow easy saving it. Should help in cases where users have problems
but restart Rockbox Utility before saving the trace.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25313 a1c6a512-1295-4272-9138-f99709370657
Move the source files out of the project file into a project include, and
resort it a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25278 a1c6a512-1295-4272-9138-f99709370657
QTemporaryFile creates temporary files, so they might get removed even if they
are renamed. Copy the downloaded temporary file instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25208 a1c6a512-1295-4272-9138-f99709370657
Use the buildserver modelname for downloading files. The Platform setting is
the internal Rockbox Utility value, which might contain an additional
identifier needed internally only. Broken download links reported as part of
FS#11109.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25206 a1c6a512-1295-4272-9138-f99709370657
Return an error if the exit code differs from 0. Fixes voice file creation
getting displayed as successful even if encoding didn't work (f.e. due to wrong
command line parameters set in the configuration dialog).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25138 a1c6a512-1295-4272-9138-f99709370657
Note that some voices don't support speed adjustment. These voices will ignore
the selected value. The current implementation doesn't mark those voices in any
way.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25125 a1c6a512-1295-4272-9138-f99709370657
If the linker uses the --as-needed option linking failed due to the order of
the libraries on the command line. Arch Linux seems to default to this option,
and the Gentoo documentation mentiones it as experimental feature. Changing
the library order fixes the link issue.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25124 a1c6a512-1295-4272-9138-f99709370657
- reorder value retrieval (display names etc) to cut down the number of
necessary accesses. While this is not critical it cuts down the noise
generated in the trace noticably.
- match the old target by its internal name instead of the display name.
- remove two access functions in SystemInfo that are not really needed anymore.
Accessing the values via platformValue() is much more logical and in line with
the rest of the value accesses.
- try to scroll to the selected item in the device list after setup and
detection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24988 a1c6a512-1295-4272-9138-f99709370657
This will also cause the archives created by deploy-release.py to use the new
binary name, so also update the update checking code to accept any base
filename when retrieving version numbers from the download server.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24980 a1c6a512-1295-4272-9138-f99709370657
This adds basic support for using the OS X' TTS system. The current
implementation does only support selecting the voice itself, no further
settings (like speed pitch / speed) adjustments are implemented. As OS X' TTS
system wants the strings to get spoken in 8 bit encoding problems with locale
combinations are possible. For this better error handling in the rbutil TTS is
needed. The voice test button in the configuration dialog reacts pretty slow
due to the way its speaking is done. This can get changed but also requires
adjustments in the rbutil TTS system.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24979 a1c6a512-1295-4272-9138-f99709370657
This fixes the values set in the voice window getting overwritten with the
initial values when opening the configuration dialog from the window via the
"Change" button.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24963 a1c6a512-1295-4272-9138-f99709370657
The stricter matching for device nodes introduced with r24802 broke resolving
the mountpoint during autodetection as sansapatcher and ipodpatcher return the
device node of the player instead of its data partition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24936 a1c6a512-1295-4272-9138-f99709370657
On OS X HFS is a valid filesystem on an Ipod. When resolving device node to
mountpoints and vice versa also check mounts of hfs partitions. This results in
trying to install the bootloader on a MacPod to show the (intended) MacPod
warning instead of failing with a "could not open ipod" error because no valid
device node could be retrieved. Also, be more strict on matching to prevent
problems with one name being a subset of another.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24802 a1c6a512-1295-4272-9138-f99709370657
Previously MacPods were detected but the mountpoint can't get resolved due to
the different partition layout, thus having a MacPod would only detect the Ipod
itself but not the mountpoint. Rockbox does not support MacPods, so inform the
user as soon as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24799 a1c6a512-1295-4272-9138-f99709370657
We checked if the new firmware block (bootloader+ucl function+packed
bootloader & OF) fit in the OF file, but not if it would run properly.
For example the Clipv2 OF is bigger than 0x50000 bytes uncompressed, but
it fitted in this space when packed and concatenated to a packed
bootloader + ucl function and dualboot code (but we use 1MB of RAM and
not 0x50000 anyway).
Now we check that both bootloader and OF are small enough to be unpacked
at runtime: the unpacked data must be smaller than available memory and
not overlap with ucl function and packed data (although the unpacked and
packed data could probably overlap a bit, I don't know how to calculate
this and this could be quite complex).
total_size() is replaced by check_sizes() which will perform all the
checks and set an error string if the firmware can't be patched.
(both mkamsboot and rbutilqt modified accordingly)
The second problem is that dualboot.S assumed r3 and r5 were left
untouched in the device specific checks. This was undocumented and very
error prone when modifying these checks.
r3 is the last byte of packed copy (bootloader or OF)
r5 is the entry point of uclunpack function derived from r3, so move r5
calculation after the device specific code.
Even if r3 is currently unused in the device specific code, we store it
in memory after copying the ucl function, when it points to the last byte
of packed data (not yet copied at this point since we didn't chose if we
boot the OF or the bootloader), and restore it just before using it so no
restriction is placed on registers usage in device specific code.
Add a new variable ucl_dest in dualboot.S set by mkamsboot.c, which
represents the last bound of buffer where we copy the ucl function, and
then the packed data (bootloader or OF).
RAM_SIZE definition is moved from dualboot.S to mkamsboot.c new
model_memory_size(), where it is a bit better documented.
Tested on e200v2 and Clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24772 a1c6a512-1295-4272-9138-f99709370657
Also only use 0x50000 bytes of memory since the files just fit in.
TODO: make mkamsboot abort if the decompressed OF or bootloader doesn't
fit in RAM / or overlap on compressed data or uclunpack function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24727 a1c6a512-1295-4272-9138-f99709370657
This removes the need for copying these files to ../ and removes the
risk of only copying one of the files (which led to bricking 2 c200v2
already)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24719 a1c6a512-1295-4272-9138-f99709370657
This makes it possible for native dialogs to get used on Windows and OS X. The
mountpoint selection dialog needs special handling and still uses the
BrowseDirtree class for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24703 a1c6a512-1295-4272-9138-f99709370657
The Install class has been renamed recently to InstallWindow. Rename the
form too so it uses the same class basename again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24698 a1c6a512-1295-4272-9138-f99709370657
- handle disabled platforms also for for variant and base groups.
- make variant detection more strict to prevent variants that are a substring
of other variants to match. Happened e.g. for iriverh10 and iriverh100.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24625 a1c6a512-1295-4272-9138-f99709370657
ipodInitialize() is not supposed to close but only to open the disk handle. Fixes a segfault when trying to install the ipod bootloader on windows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24608 a1c6a512-1295-4272-9138-f99709370657
Dualboot works on the sansa clip+ by holding either the left "|<<" or home buttons.
The USB pin is still undiscovered at this point and should replace the home button when found.
By including the home button for dualboot we avoid bricking due to a single button failure.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24561 a1c6a512-1295-4272-9138-f99709370657
Note that disabled targets support is not intended for use by end users.
This is to make development (and testing of svn) easier and should get
disabled for releases.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24513 a1c6a512-1295-4272-9138-f99709370657
Bootloader installation for the D2 is still not end-user ready for the upcoming release.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24467 a1c6a512-1295-4272-9138-f99709370657
Doing so removes the need to loop over all targets to fill in values for
target variants in ServerInfo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24427 a1c6a512-1295-4272-9138-f99709370657
The About menu name was off since the introduction of the
Troubleshooting submenu. Renaming it should make it more obvious to look
at it in case of problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24418 a1c6a512-1295-4272-9138-f99709370657
This implements the basic functionality for sending inquiries on OS X.
The current implementation has some limitations:
- it will not respect the selected device but pick the first Ipod found.
- it is inefficient due to the way ipodpatcher expects this which doesn't
really match how it works on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24382 a1c6a512-1295-4272-9138-f99709370657
With the separation of the SystemInfo values accessing all the values
will create traces, making them rather noisy due to unnecessary multiple
accesses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24373 a1c6a512-1295-4272-9138-f99709370657
Rbutil's (internal) platform names are now identical to the configure
model names except for the cases where further differentiation is
needed. In those cases the platform name is now the configure name with
an additional postfix, separated by a dot. This makes it possible
getting the configure name from the platform name.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24371 a1c6a512-1295-4272-9138-f99709370657