path: root/apps/filetypes.c
AgeCommit message (Collapse)AuthorFilesLines
2022-02-01misc: Add 'mpga' as a valid file extensionSolomon Peachy1-2/+3
Some podcasts use this, apparently. Change-Id: I24f372ed760f15e204dba3a99552ad3b6a051515
2021-10-21file tree filetype_list_viewers exit from list before executionWilliam Wilgus1-20/+13
no need to do a callback just to exit the list right after executing a viewer plugin Change-Id: I4598ab189bd7d1f350156af75480cbe7103e9e4c
2021-10-21extend filetype_get_plugin() search for viewer by fileextWilliam Wilgus1-9/+30
I noticed the way filetree switch was modified for the lua (and then) opx and open plugin viewers since builtin files are assumed to be handled in the filetree switch what if instead filetype_get_plugin() could search the available viewers this could probably be extended further with selectable defaults Change-Id: I40f74cd698f4b788a0adcbebf32c08a970df29a5
2021-10-20filetree.c move static and stack allocated buffers aroundWilliam Wilgus1-5/+4
it makes more sense to make the main buffer static and make the second (infrequently needed) buffer as stack allocated Change-Id: Ide7c1a7a312124e47a23ed0ab75a90d7b8be982e
2021-08-22filetypes: handle missing or empty viewers.configAidan MacDonald1-22/+24
We want to load builtin filetypes and other config files even if there is a problem loading viewers.config. A lot of menus expect the builtin types to be there and don't work if they're missing. Change-Id: Ie39c8b9ef184fe0d638bacbe18e5f2d22900bd81
2021-08-02filetypes.c filesize() guard against negative error valuesWilliam Wilgus1-4/+12
buffer size is copied to an unsigned int for core_alloc Change-Id: I7b9ccab79554e55b22d39501ccb779036913258a
2021-03-02Reset unknown file color when resetting filetype colorsChristian Soffke1-0/+1
The unknown file color is handled as a special case and also needs to be reset here Change-Id: I0446b7f6586c265dee37fef303f8564f22f06dd4
2021-03-01Fix inability to reset filetype colors without restartingChristian Soffke1-0/+2
0ce42df prevented read_color_theme_file() from being executed when applying settings (from a cfg file) if the filetype colors setting was set to "-". Resetting custom filetype colors happens in that function though and thus wouldn't work. You had to restart Rockbox for the setting to be applied (at which point read_color_theme_file() is called from filetype_init() which is called by the init() function in main.c) The safety check has been moved from settings.c directly into read_color_theme_file(). This has the added advantage that it will also apply during the init process where there existed no check before (prevents the problem mentioned in 2e3a8c7). Change-Id: I547fe180f0bac79889bf2c44778bb1cc4f9d4307
2020-10-09codecs: Add support for the 'VTX' ZX Spectrum chiptunes format.Solomon Peachy1-0/+1
This codec requires floating point. Original author: Peter Sovietov Ported to Rockbox: Roman Skylarov Further integration and bugfixes: Solomon Peachy Change-Id: I781ecd3592dfcdbbc694063334350342534f1d6c
2020-08-17Add open_plugin to coreWilliam Wilgus1-0/+1
open_plugin allows arbitrary plugins to be called in hotkey and start screen replaces PictureFlow Integration shortcuts menu plays plugins now too rather than store paths and parameters in the settings that reside in memory instead entries in a file are searched by hash. after all, the plugin has to be loaded from disk anyways ---------------------------------------------------------------------------- shortcut_viewer.rock-- can now call plugins rather than taking you to them in the browser ----------------------------------------------------------------------------- Added a new option to menus: F_CB_ON_SELECT_ONLY instead of option callback every time a item is accessed F_CB_ON_SELECT_ONLY fires callback only when item is selected ----------------------------------------------------------------------------- Added manual entries ----------------------------------------------------------------------------- Change-Id: I078b57b1d2b4dd633c89212c1082fcbc1b516e6a
2020-07-24[4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice.Solomon Peachy1-12/+0
Note: I left behind lcd_bitmap in features.txt, because removing it would require considerable work in the manual and the translations. Change-Id: Ia8ca7761f610d9332a0d22a7d189775fb15ec88a
2020-07-24[3/4] Completely remove HWCODEC supportSolomon Peachy1-7/+0
'swcodec' is now always set (and recording_swcodec for recording-capable units) in feature.txt so the manual and language strings don't need to all be fixed up. Change-Id: Ib2c9d5d157af8d33653e2d4b4a12881b9aa6ddb0
2020-07-24[2/4] get rid of HAVE_LCD_CHARCELLSSolomon Peachy1-7/+0
HAVE_LCD_BITMAP is now redundant. lcd_bitmap is always-on in features.txt so manual and lang strings don't have to change Change-Id: I08eeb20de48099ffc2dc23782711af368c2ec794
2018-12-22AAC bitstream format files supportSolomon Peachy1-0/+1
Files with extension "aac" in ADTS or ADIF format are now playable. Full credit goes to Igor Poretsky. Change-Id: I413b34e15e5242fea60d3461966ae0984080f530
2018-12-15FS#6323: Speech for ID3 viewer, playlist catalog and playlist viewerSolomon Peachy1-2/+13
Modified from original ticket, Taken from Igor Poretsky's tree, and further modified by myself to incorporate feedback. Change-Id: Ibc2180e52af76890b1448d23f79386fd0f88f709
2013-06-05Fix color of files with no extension.Boris Gjenero1-1/+1
Based on all other references, unknown_file.color is a color, not an index into custom_colors[]. Previously, custom_colors[-1] was returned for files without an extension, accessing outside array boundaries and making files without an extension black, which is hard to see. Change-Id: Ia0883aba929582324b767df7828a36a84c0b36b9
2013-01-21And use the unknown file colour if there is no extensionJonathan Gordon1-1/+1
Change-Id: I35e16643fa655b7d1e006ea85be5c351427bca14
2013-01-21fix yellowJonathan Gordon1-1/+1
Change-Id: I269c1c3caa57ba3f0368f58da9501fc29be3dc0c
2013-01-20filetree: Support ??? in viewers.config for unsupported filetypesJonathan Gordon1-8/+42
This will allow the user to set the file colour and icon for all unknown files in the file browser. Change-Id: I4e601f9d2ea31ac972d8066252bf80b6c0d22268
2012-09-20Initial opus codec supportFrederik M J Vestre1-0/+1
Synchronised with opus repo on github ( Status: * Seeking ported from speex, but fails on some cases (e.g. seek to granule 0) * ReplayGain parsing needs to be reworked, we do vorbis-style replaygain now. explicitly forbids these in favour of R128_TRACK_GAIN tag. * No optimisation yet, source files still nearly identical to opus upstream * Multi-stream opus files may not be parsed correctly Change-Id: Ia66f1027dc1d288083e3c57b2816700078376f9a Reviewed-on: Reviewed-by: Bertrik Sikken <> Tested-by: Bertrik Sikken <>
2012-06-10Fix checks on buflib allocated handles (0 is not a valid handle value)Bertrik Sikken1-1/+1
Change-Id: I8fdc5a59a5062f40a431cd49971390e21631b8ec
2011-12-05Sprinkle around some static and const.Nils Wallménius1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-02Fix file descriptor double close():Thomas Jarosch1-2/+4
read_config() also closed the file descriptor. Credit goes to cppcheck. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-21fix FIX_PTR macro so it actually fixes every pointer (was skipping x == ↵Jonathan Gordon1-1/+1
current case) git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-07Buflib: Clarification about invalid handlesThomas Martitz1-1/+1
* Enhance allocation function comments to better state the return value and what an invalid value is * Change clients to check for "< 0" instead of "<= 0" or "== 0" * Return -1 or -2 depending on the exact failure in buflib_alloc_ex. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-30GSoC/Buflib: Enable compaction in buflib.Thomas Martitz1-1/+21
This enables the ability to allocate (and free) memory dynamically without fragmentation, through compaction. This means allocations can move and fragmentation be reduced. Most changes are preparing Rockbox for this, which many times means adding a move callback which can temporarily disable movement when the corresponding code is in a critical section. For now, the audio buffer allocation has a central role, because it's the one having allocated most. This buffer is able to shrink itself, for which it needs to stop playback for a very short moment. For this, audio_buffer_available() returns the size of the audio buffer which can possibly be used by other allocations because the audio buffer can shrink. lastfm scrobbling and timestretch can now be toggled at runtime without requiring a reboot. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-30GSoC/Buflib: Add buflib memory alocator to the core.Thomas Martitz1-9/+20
The buflib memory allocator is handle based and can free and compact, move or resize memory on demand. This allows to effeciently allocate memory dynamically without an MMU, by avoiding fragmentation through memory compaction. This patch adds the buflib library to the core, along with convinience wrappers to omit the context parameter. Compaction is not yet enabled, but will be in a later patch. Therefore, this acts as a replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug menu. See buflib.h for some API documentation. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-07Submit initial patch from FS#12176. Adds support for several new game music ↵Andree Buschmann1-0/+7
formats (AY, GBS, HES, KSS, SGC, VGM and VGZ) and replaces the current NSF and NSFE with a new implementation based on a port of the Game Music Emu library 'GME'. This first submit does not cover the full functionality provided by the author's original patch: Coleco-SGV is not supported, some GME-specific m3u-support has been removed and IRAM is not used yet. Further changes are very likely to follow this submit. Thanks to Mauricio Garrido. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-06-20Use enum themable_icons in struct file_type and struct filetype (who made ↵Thomas Martitz1-1/+1
those names?). It's the correct type and should save some memory due to struct padding (on eabi). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-12-06Get rid of get_user_file_path and do the path handling in wrappers for ↵Thomas Martitz1-5/+3
open() and friends. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-11-27Add helper function to get index from file extension.Teruaki Kawashima1-38/+38
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-11-09Create index array to filetypes used in the open with list while loading ↵Teruaki Kawashima1-51/+53
viewers.config. Reduced stack usage of filetype_list_viewers(). Additionally, do not allocate buffer twice for same plugin name. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-08-02A few post-fixes to the get_user_file_path() commit.Thomas Martitz1-2/+3
Remove unneeded restriction from set_file that prevented filename settings to work if they were outside of ROCKBOX_DIR. Add the get_user_file_path() call to a few further places where it was forgotten. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-08-01Rockbox as an application: add get_user_file_path().Thomas Martitz1-3/+4
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/ if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox). This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local. On the DAPs it's a no-op, returing /.rockbox directly. Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-06-21close the viewers.config file fdJonathan Gordon1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-13add True Audio (TTA) codecYoshihisa Uchida1-0/+1
decoding speed iPod video ~153% But in some players, the decoding speed is not enough. (e.g., H180 52.4% (thanks amiconn), H300 55.09% (thanks n1s)) git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-12fix: the problem to which new filetypes cannot be registered.Yoshihisa Uchida1-2/+2
64 types can be registered more. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-12FS#10853 - Skin support in the radio screen! Check CustomWPS for the new tagsJonathan Gordon1-0/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz1-1/+0
directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-28Add wave64(.w64) codec (FS#11022)Yoshihisa Uchida1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-28Add vox (Dialogic telephony formats) codec add. (FS#11021)Yoshihisa Uchida1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-28Add Sun Audio codec. (FS#10433)Yoshihisa Uchida1-0/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-24add SMAF codec (.mmf extension)(FS#10432)Yoshihisa Uchida1-0/+1
This codec supports only wave data (ADPCM and PCM). It does not support MIDI, picture, and movie. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-18FS#10535: bmp viewer plugin.Teruaki Kawashima1-3/+0
* changed bmp.c so that it loads bitmap larger than LCD correctly. * removed bmp entry form inbuilt_filetypes in filetypes.c so that bmp files will be opened with bmp viewer when selected in browser. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-16Initial support for ATRAC3 streams in wav containers. Mohamed Tarek1-0/+1
Current state : - Playback and seeking are possible. - We now support ATRAC3 in any of its possible containers (wav/at3, oma/aa3, and rm/ra). TODO : - Fix joint-stereo decoding for ATRAC3 - the decoder currently produces lots of glitches. - Rename atrac3_oma.c since it works for both oma and wav containers. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-12Add support for Sony OMA file format. Currently only supports ATRAC3 ↵Mohamed Tarek1-0/+2
(without DRM), and seeks. Tested on sansa e200. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-02-06Enable 12 other 8bit Atari file formats which the asap codec already ↵Dominik Wenger1-0/+12
supports. No metadata available for them. New formats: .cmc / .cm3 / .cmr / .cms / .dmc / .dlt / .mpd / .mpt / .rmt / .tmc / .tm8 /.tm2 git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-01-31Several filetypes were added (more or less) recently so the array became ↵Jens Arnold1-1/+1
full on HWCODEC. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-12-16Fix FS#10289 - screens showing a list need to check the show_icons setting ↵Jonathan Gordon1-1/+1
before setting the callback. the List will now always draw icons if a callback is set (like its always done for voice) git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-28Remove unused #define and correct comment.Maurus Cuelenaere1-2/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657