Commit graph

10 commits

Author SHA1 Message Date
Dominik Riebeling
07604d62ab rbutil: Command line fallback on libmp3lame failure.
When loading libmp3lame fails fall back to using the command line lame.
Avoids an unresolvable error when trying to create voice / talk files
for Archos.
Modernize code a bit.

Change-Id: I2e8fd5786fda972cb24adbcb9ced531e08093b4f
2020-11-06 21:13:32 +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
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
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
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
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
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
933a674891 libmp3lame: add quality and volume settings.
Change-Id: I220526f071dadc69791e5bf6d23cfce2bf9ba045
2012-01-29 22:55:18 +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
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