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
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.
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
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
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
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
- 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
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
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
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
- 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
For building Rockbox Utility with Visual Studio some extra steps need to be
done. Visual Studio is also lacking some C99 standard headers. Add the missing
headers (from clang / msinttypes) and a Makefile to automate the extra steps.
See the README file for other requirements and necessary steps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31407 a1c6a512-1295-4272-9138-f99709370657
Use the same name for output file / library and folder to simplify
dependencies.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31334 a1c6a512-1295-4272-9138-f99709370657
Instead of building sansapatcher sources directly build and use the library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31329 a1c6a512-1295-4272-9138-f99709370657
Instead of building the sources directly build and link libipodpatcher.a as
done for other tools.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31326 a1c6a512-1295-4272-9138-f99709370657
On OS X if no version is passed a string containing a space gets generated in
some situation, which will break building. Explicitly set version to some known
string as done for other libs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31262 a1c6a512-1295-4272-9138-f99709370657
Pass a subdirectory of the build folder as BUILD_DIR to the called Makefiles.
Not all do respect the value yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31260 a1c6a512-1295-4272-9138-f99709370657
- MSVC uses different namings in some places. Adjust the sources via the
preprocessor if build with MSVC.
- MSVC doesn't know about __func__, use name instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31185 a1c6a512-1295-4272-9138-f99709370657
MSVC requires void-casting of unused variables to be done after variable
definitions. Change the order, no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31171 a1c6a512-1295-4272-9138-f99709370657
Visual Studio warns about the usage of some standard library functions (like
sprintf) as part of the SDL. Since we won't change using this functions for at
least portability reasons we really don't need to know about them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31170 a1c6a512-1295-4272-9138-f99709370657
Instead of handling bundled bootloaders in the sansapatcher functions leave
that to the caller. This removes the need to have Rockbox Utility specific
parts in sansapatcher. sansa_add_bootloader() now operates on an already loaded
bootloader. For loading a convenience function sansa_read_bootloader() is
added. This also introduces a new check on loading to prevent installing an
e200 bootloader on a c200 (and vice versa).
These changes will allow building a libsansapatcher for linking with Rockbox
Utility later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31144 a1c6a512-1295-4272-9138-f99709370657
Update the chinachip Makefile based on the mkamsboot one, build and link as
library for Rockbox Utility.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31117 a1c6a512-1295-4272-9138-f99709370657
Instead of having to mention each library several times (extra targets, target
dependencies, linker flags) create a list of libraries we build directly and
create all other lists from them. Note that libraries get processed in the
order of the list, which is important for linking order. As a result libucl
needs to come last.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31116 a1c6a512-1295-4272-9138-f99709370657
Instead of passing error messages using a callback function (which becomes
awkward when used from a C++ class object) return distinct error codes from
chinachip_patch(). This also removes the kludge to support translations for
Rockbox Utility and moves the strings to translate to the installation class
where they belong.
As a side effect info messages won't be passed to Rockbox Utility anymore, but
the details of the patching progress aren't of that much interest for the user
anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31115 a1c6a512-1295-4272-9138-f99709370657
- When trying to retrieve the human readable device name on target mismatch
detection it is not possible to figure the "extra" variant internally used
from the information in rockbox-info.txt. Since the h10_5gb didn't have a
non-extra version resolving the name would fail. Remove the extra part for
the UMS version so that will get used. It's better to display a slightly
wrong name instead of none.
- Add some comments describing the sections and their values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30887 a1c6a512-1295-4272-9138-f99709370657
Instead of showing the target name as stored in rockbox-info.txt retrieve the full descriptive name.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30886 a1c6a512-1295-4272-9138-f99709370657
The buildserver_modelname is still in use, and the commit missed some parts on
removal, causing segfaults on start.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30884 a1c6a512-1295-4272-9138-f99709370657
Since changing the manual URL creation to be template based this value isn't
used anymore. It's also pretty much the same as configure_modelname, so remove
it completely.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30869 a1c6a512-1295-4272-9138-f99709370657
When building the linked libraries pass the machine flag as well. For now add
them to the compiler variable directly, should go via CFLAGS later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30868 a1c6a512-1295-4272-9138-f99709370657
Add as disabled targets with disabled bootloader support. As soon as they are
available in the build system this will allow installing except for
bootloaders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30863 a1c6a512-1295-4272-9138-f99709370657
Targets with special case URL for the manual (i.e. targets that share the
manual with another target, f.e. h100 series) have been forgotten during the
target renaming. Update those names and convert the manual URL handling to
be template based.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30848 a1c6a512-1295-4272-9138-f99709370657
The Speex codec has a special license requiring it to be reproduced with any
distribution. Add the license as a separate tab in the About dialog to satisfy
this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30816 a1c6a512-1295-4272-9138-f99709370657