Commit graph

15960 commits

Author SHA1 Message Date
William Wilgus
13245ebf76 lua add menu callback
forum user fprockboxer asked for a way to detect long presses within the
do_menu routine this adds that functionality

result = rb.do_menu("Title",t_items, start, menu_callback)

function menu_callback(action)
    ...
    return action
end

Change-Id: I110c590095a743a57d0a7d45b24309899a4629cf
2019-09-14 04:48:04 -05:00
William Wilgus
f9225da811 Fix red Lua extend error splash timeout and stop cutting off info
Change-Id: Icd6fe0fa1088ab59b8214f7c860f262ce67fe205
2019-09-06 21:13:16 -05:00
William Wilgus
bbd4a6cb91 Lua extend error splash timeout and stop cutting off info
Change-Id: Ia1a9e39b9f203002cbbea85ef965e66c334b83fc
2019-09-06 20:19:42 -05:00
William Wilgus
267d04d2bd Lua add metadata and settings reading helper module
Adds example scripts for reading track metadata + dumping albumart
and rockbox settings

settings are now stored as a table of strings rather than a table of tables
as it saves ~15 kb of ram without adding much complexity

Change-Id: I611c312b2a60ab96e595e4710b17aedbd6c0689b
2019-09-07 03:10:59 +02:00
Solomon Peachy
a3cbd86a51 Slovak language update (From Peter Lecký)
Change-Id: I1d148efaa90ac36985db031dbff7bd85f179d50b
2019-09-01 09:06:22 -04:00
William Wilgus
c251d1879f lua fix mem_read_write, strtol
back when I wrote this I was running the sim on a 32 bit machine
I didn't catch the hardcoded LONG_MAX reference or the fact that
lua_tointeger maxes ot at 32 bits

on 64 bit machines strtol caused all kinds of issues especially since
it returned the real LONG_MIN/MAX values

Change-Id: I3571ebbd9df333f7cbf4077562412c27429bfadc
2019-08-28 00:56:08 -05:00
William Wilgus
b99d4d7fa9 lua optimize poly_draw add draw_number, poly_points modules
Change-Id: Id36e765f18234f5a4f3092d090c0adffa3da1612
2019-08-26 22:17:33 -05:00
Vencislav Atanasov
9f551b09f6
sdl: Fix path substitution in log messages, fix game names in comments
Change-Id: I7854d55153d656e84e791759f8ed664e41bff7e5
2019-08-22 22:00:43 +03:00
Igor B. Poretsky
9e186e34ab Save and apply settings after resetting settings in menu.
Change-Id: I8c38d34d04f59090f02f4b7374860ece153a57ce
2019-08-20 15:36:54 +02:00
Igor B. Poretsky
293e3e0fd7 FS#9213 - Fix for audio dropout after startup
Original Patch by Martin Buck
Updated by Igor Poretsky
2019-08-20 13:17:23 +02:00
William Wilgus
ecfb4590ad lua fix polydraw missing functions
Change-Id: I9e2537e4839e2b4f9beddbc887610213ed954a87
2019-08-20 01:58:16 -05:00
William Wilgus
8b7ae89b43 Playlist rework
consolidate some of the playlist create functions
remove extensions from playlist naming (you can still add it if you desire)
switch to strlcpy, strlcpy functions

Change-Id: Ibd62912da4d1f68ed5366baa887d92d4c6b1f933
2019-08-18 10:18:31 -05:00
William Wilgus
5a4cdb96b9 Playlist Fix failure to append default file name pt2
fix create_playlist too

Change-Id: Ic1de1382d5b534991253d662cb1b3aa5520f8887
2019-08-17 09:06:14 -05:00
William Wilgus
fd19a2caa2 Playlist Fix failure to append default file name
FS#12992 - Can't create playlist with all tracks on device (regression)
references this issue

empty_playlist() only sets filename[0] = '\0'
the code was checking filename[1]..
bug ensued

strip extra leading '/' from default path

Change-Id: Ibd8973666ee45583b9e11e3ba317c0e247f085c1
2019-08-17 06:34:52 -05:00
William Wilgus
0ff6a31d7d opus reset decoder on seek completion to prevent stack overflow
apparently we should be doing this anyway

mark4o> The packets overlap and may reuse state set by other recent packets,
        so if you seek to a different position,
        resetting the state helps to ensure that the subsequent
        packets won't use the state set by the unrelated packets
        that were processed before the seek.

remove stack bump WORKAROUND_FS13060

Change-Id: I1c14e23b1721a360b91e3e55202c1557aef0fcc6
2019-08-14 17:54:35 +02:00
Solomon Peachy
8570d4063b Fix build on IHIFI 800 and iBasso DX50
Change-Id: I564f838b96577edbc01b602e94e9293efedfac14
2019-08-14 16:48:43 +02:00
Solomon Peachy
de68310bac Fix compile on IHIFI770/770C/800 targets.
Change-Id: If8b150627c2b9746b24123d263edc69d91df855d
2019-08-14 15:54:36 +02:00
Solomon Peachy
58452a4cb2 Make 'filter roll off' strings conditional, for specific targets only.
Patch by Igor Poretsky

Change-Id: Ic22ee5169015c5bdc3d7e7513dacaf2a536264f0
2019-08-14 15:00:36 +02:00
Solomon Peachy
22c6326974 Improvements for vbrfix plugin:
* Properly account for ID3v1 tags
 * Play time computation fixes
 * Add speech feedback

Patch by Igor Poretsky

Change-Id: Ia6df8fb171882a88527cfa9d3b76b705f09becdd
2019-08-13 17:07:07 +02:00
Solomon Peachy
c46147c6b2 Tweak how the pictureflow plugin is invoked
- Only load when database is ready
 - Assign to file browser only when returning to WPS
 - Minor speech fixes

Patch by Igor Poretsky
Re-synchronized by myself

Change-Id: If9c943b3af415a2decd3dd5803d730bd790d09fe
2019-08-13 16:41:14 +02:00
Igor B. Poretsky
e3ed277f68 Enhanced shortcuts speech feedback
Trying to guess proper talk clip if it is not specified
explicitly. Using spelling as a fallback.

Change-Id: I9eeca3fbe23086c2d8fd45360546b6afaa9c7067
2019-08-13 13:08:33 +02:00
William Wilgus
3d06d35bf6 lua rock events crash on error in main state
on errors thread stack overflows
yielding before thread_exit() is a bad idea apparently

Change-Id: Iac45d4321fac496738384fdbbeb480356ef2a1bb
2019-08-12 07:28:24 +02:00
Sebastian Leonhardt
3b75f98700 Windows shortcuts: remove warnings
Change-Id: I987cbf14da2f320ddbe3190b48ba5f8006d2ea3f
2019-08-11 22:57:08 +02:00
Sebastian Leonhardt
5c701b0280 Add support for Windows shortcuts (*.lnk files)
Supports only relative links across the same volume.

Change-Id: I4f61bb9d5f2385d5b15d2b9d9a3f814a7ac85b54
2019-08-11 22:26:49 +02:00
Franklin Wei
49dd38c184 quake: further optimize D_DrawSpans8
Found on http://forums.insideqc.com/viewtopic.php?f=3&t=3327

Adds 1.1FPS (+8%) on ipod6g.

Change-Id: I608588ff99d70ff5ce28d2c649afa4b10038cc03
2019-08-09 23:05:46 -04:00
Franklin Wei
4397194110 quake: enable PQ_OPT5 (a fixed-point DrawSpans8)
This boosts performance to 13.0FPS on ipod6g for `timedemo demo1'. That's a
+34% increase from baseline.

Change-Id: I50bae7783ff2fce46e8257c251c6b639c069e7cb
2019-08-09 21:27:55 -04:00
Franklin Wei
f5bb7fddec quake: merge the remaining Pocket Quake PQ_OPT changes
I didn't do _OPT3 because it's disabled in the PQ source.

This gives as +0.2FPS boost over the last commit.

Change-Id: I9c3c8fb7bd23262beb810da6e9469d6b6c4b2a81
2019-08-09 21:27:55 -04:00
Franklin Wei
ee70dad305 quake: merge some fixed-point optimizations from PocketQuake
The PocketQuake project, available below, has some nice fixed-point code:

https://web.archive.org/web/20150412233306/http://quake.pocketmatrix.com/PocketQuake0062_src.zip

I'd like to see most of them merged into our Quake port. This commit
gives +0.9FPS on ipod6g. (A big change given that it was running at
only 9.7FPS to begin with!)

Change-Id: I91931bdd5c22f14fb28616de938a03b4e7d7b076
2019-08-09 21:27:42 -04:00
Igor B. Poretsky
3fffabf50d Negative values speaking fix for some certain situations 2019-08-09 06:57:03 +02:00
Igor B. Poretsky
20798aaa1c xduoox3: LANG_DISK_NAME strings for non-English languages and proper corresponding voice strings 2019-08-09 06:55:46 +02:00
Igor B. Poretsky
0340513421 Russian translations fix 2019-08-09 06:53:37 +02:00
Solomon Peachy
7737327bfe Fix mikmod plugin build on armv4 targets (broke in 5b23c9e)
Change-Id: I1c79fbe44c13396388c533c4664b4ce1db150ac9
2019-08-08 23:04:11 +02:00
Solomon Peachy
5b23c9eb0a Introduce HW_SAMPR_MIN_GE_22 macro
Gives us the lowest HW sample rate that's >= 22KHz.

Needed because some targets that don't support 22K support 11K or 8K, so
HW_SAMPR_MIN will give us much lower quality than is acceptable.

Take advantage of this new macro in the SDL, MIDI, and MIKMOD plugins,
and implement a crude "fast enough" test to enable higher sample rates
on more capable targets.

Change-Id: I6ad38026fb3410c62da028e78512e027729bb851
2019-08-08 22:37:30 +02:00
Solomon Peachy
a430e275dd Fix lua compile error on most targets, introduced in 8d77ec8
Change-Id: I217f78a9e348a18552563c6c3b235c9aed956f54
2019-08-08 15:09:04 +02:00
William Wilgus
8d77ec88a5 lua LCD fix
forgot to set new size after realloc

forgot to set sizelineinfo to 0 after free

Change-Id: Iaf7533aafaba1e2abf9599c9e1d0b75d913a8c36
2019-08-08 07:36:04 -05:00
William Wilgus
d61ea6c5ee lua LCD (Lua Compact Debug) patch
LCD developed 9/2015 by Terry Ellison

 We've already discarded the ldebug module from lua
 it only makes sense to discard the debug info as well
 adds 1.5 K to the binary
 saves 8 Kb on the base state
 once scripts start getting called i've seen 10-50Kb savings but it all depends on
 what exactly you are running

Change-Id: Ibb74f344df1c4c96380ec6c98b010a810e9ae9cc
2019-08-08 07:11:30 +02:00
Franklin Wei
1dabca6c26 sdl: document some pointer voodoo
This was lifted straight from pictureflow...

Change-Id: Ie09184390e6fcea007e7daea001f075de307f878
2019-08-08 00:10:34 -04:00
Solomon Peachy
cd77d9283f Further lanuage tweaks:
- Corrected X3 mSD slot voices
 - Synchronized English-US
 - Synchronized Russian

Change-Id: If0dffc7b06b5434a318342856e101d997a91b861
2019-08-07 20:07:27 +02:00
Solomon Peachy
4b12b685b9 Further updates to the Russian voiced strings, by Igor Poretsky
(These had to be fixed up by hand)

Change-Id: I951d1bcf50af03e6a313e5636f8594c285656507
2019-08-07 17:23:18 +02:00
Solomon Peachy
5ace14b55d Major update to Russian Translation, by Igor Poretsky
(Not all chunks made it due to dependencies on non-merged stuff)

Change-Id: I370ecba4ac4d4009e65b2829c32dfc3bde00220f
2019-08-07 17:01:51 +02:00
Solomon Peachy
b1f2c795a6 Speech feedback in the pictureflow plugin
Patch by Igor Poretsky

Change-Id: I99d789e43d1093c69b4d76f58704303d3c1b3c80
2019-08-07 09:50:27 -04:00
Solomon Peachy
2ebb8da275 Mikmod plugin improvements
- Improved sound quality (use 44.1KHz)
 - Conventional mixer is now used
 - Playback is performed in a separate thread
 - Speech feedback in menus

Patch by Igor Poretsky

Change-Id: I13baa224cefd67aefe6d62b988971bfbd421757d
2019-08-07 09:48:15 -04:00
Solomon Peachy
e6b03ffa82 Respect age when freeing thumbnails from clip cache.
Otherwise they could get freed while queued.

Patch by Igor Poretsky

Change-Id: I436b074d81a85cfeb68a07a17320a3c9c0a43e1e
2019-08-06 13:37:20 +02:00
Solomon Peachy
2d70fdcd8c Improved reliability of runtime accounting and speaking it.
Change-Id: I6f0fb907e0378487cec387a2cfd3a20b9a596c4e
2019-08-06 04:47:20 +02:00
Solomon Peachy
4c481d2b0e Fix some bad strings in two language files.
Patch by Igor Poretsky

Change-Id: Id46eb8829eb343db1bb0e936363e71fcc071fd97
2019-08-06 04:45:56 +02:00
William Wilgus
951a614852 lua fix lua_close on os.exit(0)
Change-Id: Ib225ecf9ea64c95e438c4114b23239c118ab19a2
2019-08-05 21:25:01 -05:00
William Wilgus
1b41e6ec43 lua fix crashes EGC failure to lock stack in concat
Change-Id: I980637b1d8aa91d7ac0ed71fd0e7d21bda7876c4
2019-08-05 21:20:30 -05:00
Solomon Peachy
305ec1211f Synchronize the english-US translation, including missing voice strings.
Change-Id: I9e5841ff0ce71f513feb2ce84489b71787d215e9
2019-08-06 03:17:08 +02:00
Solomon Peachy
0544d974f9 Fix rockbox info screen on non-MULTIVOLUME targets
Regression introduced in c3a775c05b

Change-Id: Idd069d6325e3403b4de445856184758d3f8230a5
2019-08-05 21:15:40 -04:00
Solomon Peachy
ed724fecb1 Midiplay plugin ehancements
- Improved robustness
 - Improved sound quality
 - Use mixer and DSP

Patch by Igor Poretsky

Change-Id: I6fa617158cbaa53ae842295cdbdbe3a478e49ded
2019-08-05 20:48:40 +02:00