Commit graph

50 commits

Author SHA1 Message Date
Thomas Martitz
dac40fdd60 talk: Add debug menu entry to view statistics about talk engine.
This engine includes voicefile, memory usage and cache
hits/misses for TALK_PARTIAL_LOAD.

Change-Id: I331981ddda39ea30c57b4b74504accb3c556c3b9
2014-02-02 19:40:39 +01:00
Thomas Martitz
57000b513b talk: Make talk_voice_required() local to talk.c
Change-Id: I3a04760d550efab7f011a917597ef29c039b05bd
2014-02-02 19:40:39 +01:00
Thomas Martitz
22e802e800 playback,talk: Share audiobuffer via core_alloc_maximum().
This fixes the radioart crash that was the result of buffering.c working
on a freed buffer at the same time as buflib (radioart uses buffering.c for the
images). With this change the buffer is owned by buflib exclusively so this
cannot happen.

As a result, audio_get_buffer() doesn't exist anymore. Callers should call
core_alloc_maximum() directly. This buffer needs to be protected as usual
against movement if necessary (previously it was not protected at all which
cased the radioart crash), To get most of it they can adjust the willingness of
the talk engine to give its buffer away (at the expense of disabling voice
interface) with the new talk_buffer_set_policy() function.

Change-Id: I52123012208d04967876a304451d634e2bef3a33
2013-12-23 12:17:38 +01:00
Boris Gjenero
bda8a963ad Add conditionals for functions only needed on SWCODEC targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31296 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 20:58:14 +00:00
Thomas Martitz
d1322b7159 GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.
Namely, introduce buffer_get_buffer() and buffer_release_buffer().
buffer_get_buffer() aquires all available and grabs a lock, attempting to
call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause
a panicf() (doesn't actually happen, but is for debugging purpose).
buffer_release_buffer() unlocks that lock and can additionally increment the
audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was
used temporarily only.
buffer_available() is a replacement function to query audiobuflen, i.e. what's
left in the buffer.
Buffer init is moved up in the init chain and handles ipodvideo64mb internally.

Further changes happened to mp3data.c and talk.c as to not call the above API
functions, but get the buffer from callers. The caller is the audio system
which has the buffer lock while mp3data.c and talk mess with the buffer.
mpeg.c now implements some buffer related functions of playback.h, especially
audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit.

audiobuf and audiobufend are local to buffer.c now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:13:00 +00:00
Andree Buschmann
460d54977a FS#11939: Simplify talk_time_unit().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29347 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 15:23:18 +00:00
Andree Buschmann
e3abdb1a52 Undo unwanted commit r29310.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29311 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:10:50 +00:00
Andree Buschmann
237ca504e1 All AAC-HE files will double the frame sample count, not only AAC-HE files with SBR upsampling. This change fixes issues with some m4a files reported in the forums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29310 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:00:28 +00:00
Nils Wallménius
b82fd56e0f Delete unused function, const police, minor style police
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18664 a1c6a512-1295-4272-9138-f99709370657
2008-09-29 16:29:51 +00:00
Stéphane Doyon
3eb76d053d talk.c helper functions to voice a filename, in a more generic way
than from tree.c
Voice a file or dir's thumbnail from path components,
or spell last path component. Ability to prefix the thumbnail or
spelling with some talk ids.

This is the talk_file patch from FS#6323, just refactored a bit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18048 a1c6a512-1295-4272-9138-f99709370657
2008-07-15 14:55:31 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Nicolas Pennequin
357ffb3c46 Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Nils Wallménius
2521bf5d26 Fix speaking of decimal values to work when decimals != 1, spell the fractional part instead of speaking it like a number, break out a part of output_dyn_value into a separate function and use it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17185 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 11:02:42 +00:00
Nils Wallménius
05d2bfd5e0 Introduce support for passing decimal numbers in talk ids and speak them, use in the settings menu to fix FS#7622
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17168 a1c6a512-1295-4272-9138-f99709370657
2008-04-19 13:19:04 +00:00
Steve Bavin
cd88e2ad93 Code police raid on the settings code, consting and putting headers alongside their implementation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16798 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 15:24:03 +00:00
Nils Wallménius
acbd780239 Make id's created with the TALK_ID macro work in 64 bit sims
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15723 a1c6a512-1295-4272-9138-f99709370657
2007-11-20 19:50:52 +00:00
Michael Sevakis
99617d71ba Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15668 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:12:19 +00:00
Nils Wallménius
f801714572 Actually check if a voice file has the correct version before using it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15629 a1c6a512-1295-4272-9138-f99709370657
2007-11-15 19:32:15 +00:00
Jonathan Gordon
5cab5dab0e fix red
fix Björn's name in the (c)
fix FS#8105 - backing out of the submenus in the context menus shuoldnt leave the context menu completly (expect playlist which possibly makes sense?)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15513 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 10:06:21 +00:00
Jonathan Gordon
c14430a9c1 compile talk.c on hwcodec sim. it wont actually talk though
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15512 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 09:28:07 +00:00
Stéphane Doyon
8b8785b541 Accept FS#7798: Voice unit for time
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15416 a1c6a512-1295-4272-9138-f99709370657
2007-11-03 03:43:12 +00:00
Steve Bavin
072a3c5017 Complete info screen voicing; now consistent with displayed screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15284 a1c6a512-1295-4272-9138-f99709370657
2007-10-24 12:32:12 +00:00
Steve Bavin
32a9575130 FS#7994 - Rename talk.c API, make talk_disable() affect all talking (not just menus), hopefully save some space.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15206 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 15:31:42 +00:00
Stéphane Doyon
3e31d50955 Export shutup() function from talk.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15061 a1c6a512-1295-4272-9138-f99709370657
2007-10-10 03:12:17 +00:00
Jonathan Gordon
d7d6b780d4 Accept FS#7897 with some changes by me. moves the code to talk time/date out of main_menu.c to make it hopefully more useful.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15011 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 08:12:01 +00:00
Nils Wallménius
441fa76a6d Fix flushing of voice during playback, patch in FS#6239 by Stephane Doyon and Daniel Dalton
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14517 a1c6a512-1295-4272-9138-f99709370657
2007-08-29 15:11:19 +00:00
Peter D'Hoye
ebcf06d237 Make peakmeter release setting work in units per tick (was units per read), add the unit and make it voiced. Make old leftover in lang file deprecated
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14390 a1c6a512-1295-4272-9138-f99709370657
2007-08-18 23:03:03 +00:00
Nils Wallménius
1ff0c351f7 Fix red archos sims and make some minor cleanup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14216 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 15:01:45 +00:00
Nils Wallménius
5b76936a44 Accept FS#6159 'Add voice to roughly 100 splash screens and yes-no menus' by Stephane Doyon with some minor tweaks by me. Rerun 'configure' and do a 'make clean' before rebuilding your voice files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14213 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 13:08:36 +00:00
Steve Bavin
541f403342 ..and add a couple of comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13617 a1c6a512-1295-4272-9138-f99709370657
2007-06-11 08:34:42 +00:00
Steve Bavin
24d9f59c78 When recording, disable voice menus without actually modifying user settings. Patch FS#7272, fixes bug FS #6163
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13615 a1c6a512-1295-4272-9138-f99709370657
2007-06-11 08:28:38 +00:00
Jens Arnold
2597a13497 Next round of static'ing and related fixes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11836 a1c6a512-1295-4272-9138-f99709370657
2006-12-25 14:01:47 +00:00
Michael Sevakis
97d1ca5a23 SWCODEC: Audio-related threads must be free of further tasks before returning buffers. Cleanup declarations of related functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11618 a1c6a512-1295-4272-9138-f99709370657
2006-11-28 15:00:56 +00:00
Michael Sevakis
acc29d95be SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines two macros for declaring and initializing IRAM. Plugins should use these instead. See mp3_encoder, doom, etc. for details. Further tweaks in buffer restoration after other use. Hiding of some interfaces that should only be used by buffer management.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11544 a1c6a512-1295-4272-9138-f99709370657
2006-11-18 02:18:29 +00:00
Michael Sevakis
287deb0e74 Fixed voice units in recording quality and filesplit by size options.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11063 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 17:44:43 +00:00
Michael Sevakis
4fc717a4c1 Added FS#2939 Encoder Codec Interface + Codecs by Antonius Hellmann with additional FM Recording support and my modifications
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10789 a1c6a512-1295-4272-9138-f99709370657
2006-08-28 22:38:41 +00:00
Linus Nielsen Feltzing
42f0ad3c8f Patch #5766 by Steve Bavin - Fix for various voice related crashes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10590 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 18:01:42 +00:00
Martin Scarratt
9130a2a4a7 Added options to timesplit recording feature (now renamed filesplit). Choose to split file by either time or filesize. Also have the option to either start a new file or stop recording at split point. Bumped config version so save your settings before you update your build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10285 a1c6a512-1295-4272-9138-f99709370657
2006-07-22 17:23:05 +00:00
Jens Arnold
67de1d3d9b Thorough .lang rework: Removed all deprecated strings, combined string which were only split because long ago we had no splash(), sorted strings into logical groups to ease the transition to langv2. Bunped binary .lng version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9398 a1c6a512-1295-4272-9138-f99709370657
2006-04-01 13:36:33 +00:00
Miika Pekkarinen
159c52dd36 Initial voice ui support for software codec platforms. Added also a
beep when changing tracks.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7360 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 11:13:19 +00:00
Jean-Philippe Bernardy
45e0de3e63 long policy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5929 a1c6a512-1295-4272-9138-f99709370657
2005-02-12 11:26:36 +00:00
Jörg Hohensohn
40ae63b4fc Improvement for talking filenames: While loading the directory, already cache for which files are clips available. This avoids unsuccessful spinups while browsing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5317 a1c6a512-1295-4272-9138-f99709370657
2004-10-21 18:34:48 +00:00
Jörg Hohensohn
d48442039e patch #978765 by Carsten Tschach, new option for voice filenames: every file may have an optional .talk companion, with a filename clip. While at it, I removed the "on enter" directory talking, nobody used it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5194 a1c6a512-1295-4272-9138-f99709370657
2004-10-06 21:37:46 +00:00
Jens Arnold
8fb336148f Const policed pointer arguments to functions, part 3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4999 a1c6a512-1295-4272-9138-f99709370657
2004-08-18 01:09:31 +00:00
Jens Arnold
839067b7b3 More const policeing step 2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4980 a1c6a512-1295-4272-9138-f99709370657
2004-08-01 23:34:44 +00:00
Jörg Hohensohn
b1403ee024 New way of defining menus and options allows to declare them static const, which saves the code to runtime-assemble them. Rockbox just got 6 KB smaller.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4931 a1c6a512-1295-4272-9138-f99709370657
2004-07-23 23:01:20 +00:00
Jörg Hohensohn
c8592bac33 Voice UI: option to spell dirs/files, say (known) extension with file number, minor fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4465 a1c6a512-1295-4272-9138-f99709370657
2004-04-04 19:08:44 +00:00
Jörg Hohensohn
3aa99e14cd Step 4 of voice UI:
- "talkbox" functionality added, but yet without thumbnail recording
- menu under "general settings" to configure voice
- directories and folders can be voiced as a numbers


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4440 a1c6a512-1295-4272-9138-f99709370657
2004-03-27 00:11:01 +00:00
Jörg Hohensohn
beec2e97e6 Overlooked to "voice" the set_int() function, this is why many numerical setting remained silent.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4416 a1c6a512-1295-4272-9138-f99709370657
2004-03-20 16:49:58 +00:00
Jörg Hohensohn
fa97f161ab Third step of the voice-UI: numerical settings are spoken (composed at runtime), needs new voicefont at the new location ".rockbox/langs/english.voice"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4414 a1c6a512-1295-4272-9138-f99709370657
2004-03-19 22:15:53 +00:00
Renamed from firmware/export/talk.h (Browse further)