summaryrefslogtreecommitdiffstats
path: root/apps/talk.h
AgeCommit message (Collapse)AuthorFilesLines
2020-05-22talk.h add init status to debug menuWilliam Wilgus1-0/+10
g#2272 adds checks for incompatible version & proper number of clips Currently incompatible talk files will logf when failure to load occurs Adds a message to Debug > Talk engine stats 'Talk Status: OK' 'Talk Status: ERR Incompatible voice file' 'Talk Status: ERR (#)' -- OOM, Alloc Error Change-Id: Ifd2c1f38f710541c9cd929b8abf67bba4363ca53
2020-04-17talk.h make voice files check for proper number of entries on loadWilliam Wilgus1-1/+1
In addition to version and target also check id1_max & id2_max for proper length before allowing voice file to be loaded Change-Id: I36016059d07781b0bb43dd9873bbb6e565298d76
2019-08-09Negative values speaking fix for some certain situationsIgor B. Poretsky1-1/+1
2019-07-20FS#7704 - Talk support for pluginsSolomon Peachy1-4/+2
Original patch by Mario Lang Heavily updated by Igor Poretsky Further updated by myself This patch breaks binary API compatibility by placing the new functions where they make the most logical sense. IMO this is the better approach to take given the scope of the changes needed for talk support. Since binary API is changing, the patch also moves some other functions around to more logical locations. As well as voice support in plugins, this patch voice-enables several simple plugins. There will be follow-up patches for many plugins that build on this one. Change-Id: I18070c06e77e8a3c016c2eb6b6c5dbe6633b9b54
2018-12-22Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss)William Wilgus1-0/+3
Unifies time formatting in settings_list.c allows time format to display as HH:MM:SS.MSS or any consecutive combination thereof (hh:mm:ss, mm:ss, mm:ss.mss, ss.mss, hh, mm, ss ,mss) works in INT and TABLE settings with the addition of flag 'F_TIME_SETTING' Time is auto-ranged dependent on value Adds talk_time_intervals to allow time values to be spoken similar to display format: x Hours, x Minutes, x Seconds, x Milliseconds Table lookups merged or removed from recording, clip meter and lcd timeout -String_Choice replaced with TABLE_SETTING or INT_SETTING for these functions as well, cleaned-up cfg_vals that get saved to cfgfile RTL Languages ARE supported Negative values ARE supported Backlight on/off are now Always and Never to share formatter with LCD Timeout Added flag to allow ranged units to be locked to a minimum index Added flag to allow leading zero to be supressed from the largest unit merged talk_time_unit() and talk_time_intervals() optimized time_split() optimized format_time_auto() Backlight time-out list same as original Change-Id: I59027c62d3f2956bd16fdcc1a48b2ac32c084abd
2018-12-15FS#6323: Speech for ID3 viewer, playlist catalog and playlist viewerSolomon Peachy1-0/+3
Modified from original ticket, Taken from Igor Poretsky's tree, and further modified by myself to incorporate feedback. Change-Id: Ibc2180e52af76890b1448d23f79386fd0f88f709
2014-02-02talk: Add debug menu entry to view statistics about talk engine.Thomas Martitz1-0/+12
This engine includes voicefile, memory usage and cache hits/misses for TALK_PARTIAL_LOAD. Change-Id: I331981ddda39ea30c57b4b74504accb3c556c3b9
2014-02-02talk: Make talk_voice_required() local to talk.cThomas Martitz1-3/+0
Change-Id: I3a04760d550efab7f011a917597ef29c039b05bd
2013-12-23playback,talk: Share audiobuffer via core_alloc_maximum().Thomas Martitz1-1/+20
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
2011-12-15Add conditionals for functions only needed on SWCODEC targets.Boris Gjenero1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31296 a1c6a512-1295-4272-9138-f99709370657
2011-08-14GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.Thomas Martitz1-0/+1
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-02-20FS#11939: Simplify talk_time_unit().Andree Buschmann1-2/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29347 a1c6a512-1295-4272-9138-f99709370657
2011-02-15Undo unwanted commit r29310.Andree Buschmann1-1/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29311 a1c6a512-1295-4272-9138-f99709370657
2011-02-15All AAC-HE files will double the frame sample count, not only AAC-HE files ↵Andree Buschmann1-2/+1
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
2008-09-29Delete unused function, const police, minor style policeNils Wallménius1-8/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18664 a1c6a512-1295-4272-9138-f99709370657
2008-07-15talk.c helper functions to voice a filename, in a more generic wayStéphane Doyon1-1/+11
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-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg1-2/+4
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-05-05Convert the whole codebase to UTF-8, except docs/COMMITTERS and ↵Nicolas Pennequin1-1/+1
tools/creative.c, which need checking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-04-20Fix speaking of decimal values to work when decimals != 1, spell the ↵Nils Wallménius1-1/+4
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-19Introduce support for passing decimal numbers in talk ids and speak them, ↵Nils Wallménius1-0/+9
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-03-25Code police raid on the settings code, consting and putting headers ↵Steve Bavin1-0/+1
alongside their implementation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16798 a1c6a512-1295-4272-9138-f99709370657
2007-11-20Make id's created with the TALK_ID macro work in 64 bit simsNils Wallménius1-1/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15723 a1c6a512-1295-4272-9138-f99709370657
2007-11-18Make speex the new voice format for SWCODEC targets (non-Archos). Remove ↵Michael Sevakis1-1/+1
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-15Actually check if a voice file has the correct version before using itNils Wallménius1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15629 a1c6a512-1295-4272-9138-f99709370657
2007-11-07fix redJonathan Gordon1-6/+0
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-07compile talk.c on hwcodec sim. it wont actually talk thoughJonathan Gordon1-13/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15512 a1c6a512-1295-4272-9138-f99709370657
2007-11-03Accept FS#7798: Voice unit for time Stéphane Doyon1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15416 a1c6a512-1295-4272-9138-f99709370657
2007-10-24Complete info screen voicing; now consistent with displayed screenSteve Bavin1-2/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15284 a1c6a512-1295-4272-9138-f99709370657
2007-10-19FS#7994 - Rename talk.c API, make talk_disable() affect all talking (not ↵Steve Bavin1-11/+10
just menus), hopefully save some space. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15206 a1c6a512-1295-4272-9138-f99709370657
2007-10-10Export shutup() function from talk.c.Stéphane Doyon1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15061 a1c6a512-1295-4272-9138-f99709370657
2007-10-07Accept FS#7897 with some changes by me. moves the code to talk time/date out ↵Jonathan Gordon1-0/+10
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-08-29Fix flushing of voice during playback, patch in FS#6239 by Stephane Doyon ↵Nils Wallménius1-3/+1
and Daniel Dalton git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14517 a1c6a512-1295-4272-9138-f99709370657
2007-08-18Make peakmeter release setting work in units per tick (was units per read), ↵Peter D'Hoye1-0/+1
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-06Fix red archos sims and make some minor cleanupNils Wallménius1-4/+16
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14216 a1c6a512-1295-4272-9138-f99709370657
2007-08-06Accept FS#6159 'Add voice to roughly 100 splash screens and yes-no menus' by ↵Nils Wallménius1-0/+36
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-06-11..and add a couple of comments.Steve Bavin1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13617 a1c6a512-1295-4272-9138-f99709370657
2007-06-11When recording, disable voice menus without actually modifying user ↵Steve Bavin1-1/+3
settings. Patch FS#7272, fixes bug FS #6163 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13615 a1c6a512-1295-4272-9138-f99709370657
2006-12-25Next round of static'ing and related fixes.Jens Arnold1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11836 a1c6a512-1295-4272-9138-f99709370657
2006-11-28SWCODEC: Audio-related threads must be free of further tasks before ↵Michael Sevakis1-2/+1
returning buffers. Cleanup declarations of related functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11618 a1c6a512-1295-4272-9138-f99709370657
2006-11-18SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines ↵Michael Sevakis1-0/+2
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-09-26Fixed voice units in recording quality and filesplit by size options.Michael Sevakis1-1/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11063 a1c6a512-1295-4272-9138-f99709370657
2006-08-28Added FS#2939 Encoder Codec Interface + Codecs by Antonius Hellmann with ↵Michael Sevakis1-0/+1
additional FM Recording support and my modifications git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10789 a1c6a512-1295-4272-9138-f99709370657
2006-08-15Patch #5766 by Steve Bavin - Fix for various voice related crashesLinus Nielsen Feltzing1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10590 a1c6a512-1295-4272-9138-f99709370657
2006-07-22Added options to timesplit recording feature (now renamed filesplit). Choose ↵Martin Scarratt1-0/+1
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-04-01Thorough .lang rework: Removed all deprecated strings, combined string which ↵Jens Arnold1-2/+0
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
2005-08-20Initial voice ui support for software codec platforms. Added also aMiika Pekkarinen1-0/+1
beep when changing tracks. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7360 a1c6a512-1295-4272-9138-f99709370657
2005-02-12long policyJean-Philippe Bernardy1-4/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5929 a1c6a512-1295-4272-9138-f99709370657
2004-10-21Improvement for talking filenames: While loading the directory, already ↵Jörg Hohensohn1-2/+2
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-06patch #978765 by Carsten Tschach, new option for voice filenames: every file ↵Jörg Hohensohn1-2/+2
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-08-18 Const policed pointer arguments to functions, part 3Jens Arnold1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4999 a1c6a512-1295-4272-9138-f99709370657