Commit graph

122 commits

Author SHA1 Message Date
Nils Wallménius
a0377bd500 Sprinkle around some static and const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31153 a1c6a512-1295-4272-9138-f99709370657
2011-12-05 19:23:46 +00:00
Thomas Jarosch
96afbb3778 Fix file descriptor double close():
read_config() also closed the file descriptor.

Credit goes to cppcheck.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30699 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 20:04:44 +00:00
Jonathan Gordon
ccaf55a8ae fix FIX_PTR macro so it actually fixes every pointer (was skipping x == current case)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30577 a1c6a512-1295-4272-9138-f99709370657
2011-09-21 13:32:37 +00:00
Thomas Martitz
5296af838c Buflib: Clarification about invalid handles
* 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://svn.rockbox.org/rockbox/trunk@30469 a1c6a512-1295-4272-9138-f99709370657
2011-09-07 23:16:29 +00:00
Thomas Martitz
baa070cca6 GSoC/Buflib: Enable compaction in buflib.
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://svn.rockbox.org/rockbox/trunk@30381 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:45 +00:00
Thomas Martitz
d0b72e2590 GSoC/Buflib: Add buflib memory alocator to the core.
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://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:33 +00:00
Andree Buschmann
acb0917556 Submit initial patch from FS#12176. Adds support for several new game music 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://svn.rockbox.org/rockbox/trunk@30264 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 20:01:04 +00:00
Thomas Martitz
7b374b43b5 Use enum themable_icons in struct file_type and struct filetype (who made those names?).
It's the correct type and should save some memory due to struct padding (on eabi).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30027 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 19:32:48 +00:00
Thomas Martitz
2c2416094f Get rid of get_user_file_path and do the path handling in wrappers for open() and friends.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28752 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 22:26:31 +00:00
Teruaki Kawashima
194bc8660d Add helper function to get index from file extension.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28684 a1c6a512-1295-4272-9138-f99709370657
2010-11-27 12:57:19 +00:00
Teruaki Kawashima
7d3f8c0921 Create index array to filetypes used in the open with list while loading viewers.config.
Reduced stack usage of filetype_list_viewers().
Additionally, do not allocate buffer twice for same plugin name.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28538 a1c6a512-1295-4272-9138-f99709370657
2010-11-09 14:35:19 +00:00
Thomas Martitz
850efead04 A few post-fixes to the get_user_file_path() commit.
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://svn.rockbox.org/rockbox/trunk@27667 a1c6a512-1295-4272-9138-f99709370657
2010-08-02 19:13:22 +00:00
Thomas Martitz
9c0b2479f7 Rockbox as an application: add get_user_file_path().
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org 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://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:15:27 +00:00
Jonathan Gordon
ec7937b2f8 close the viewers.config file fd
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27014 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 14:24:38 +00:00
Yoshihisa Uchida
0f5c6d47d4 add True Audio (TTA) codec
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://svn.rockbox.org/rockbox/trunk@25994 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 12:40:09 +00:00
Yoshihisa Uchida
f2df42ee91 fix: the problem to which new filetypes cannot be registered.
64 types can be registered more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25969 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 12:41:31 +00:00
Jonathan Gordon
1bd072c92d FS#10853 - Skin support in the radio screen! Check CustomWPS for the new tags
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25964 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 10:38:00 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc 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://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Yoshihisa Uchida
561cb2c401 Add wave64(.w64) codec (FS#11022)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24959 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:48:07 +00:00
Yoshihisa Uchida
8c5eaa35ec Add vox (Dialogic telephony formats) codec add. (FS#11021)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24956 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:13:30 +00:00
Yoshihisa Uchida
4e3c807466 Add Sun Audio codec. (FS#10433)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24955 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 07:22:20 +00:00
Yoshihisa Uchida
45e009a364 add SMAF codec (.mmf extension)(FS#10432)
This codec supports only wave data (ADPCM and PCM).
It does not support MIDI, picture, and movie.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24878 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 11:46:29 +00:00
Teruaki Kawashima
c4eea8f11f FS#10535: bmp viewer plugin.
* 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://svn.rockbox.org/rockbox/trunk@24754 a1c6a512-1295-4272-9138-f99709370657
2010-02-18 15:10:31 +00:00
Mohamed Tarek
82f05895af Initial support for ATRAC3 streams in wav containers.
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://svn.rockbox.org/rockbox/trunk@24689 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 03:34:39 +00:00
Mohamed Tarek
23ac6ffaa1 Add support for Sony OMA file format. Currently only supports ATRAC3 (without DRM), and seeks. Tested on sansa
e200.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24615 a1c6a512-1295-4272-9138-f99709370657
2010-02-12 03:21:37 +00:00
Dominik Wenger
e96d139b4a Enable 12 other 8bit Atari file formats which the asap codec already supports. No metadata available for them.
New formats: .cmc / .cm3 / .cmr / .cms / .dmc / .dlt / .mpd / .mpt / .rmt / .tmc / .tm8 /.tm2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24529 a1c6a512-1295-4272-9138-f99709370657
2010-02-06 12:49:03 +00:00
Jens Arnold
608aeee435 Several filetypes were added (more or less) recently so the array became full on HWCODEC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24412 a1c6a512-1295-4272-9138-f99709370657
2010-01-31 13:38:59 +00:00
Jonathan Gordon
e425371e10 Fix FS#10289 - screens showing a list need to check the show_icons setting 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://svn.rockbox.org/rockbox/trunk@24022 a1c6a512-1295-4272-9138-f99709370657
2009-12-16 08:36:46 +00:00
Maurus Cuelenaere
db8d79db7e Remove unused #define and correct comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23391 a1c6a512-1295-4272-9138-f99709370657
2009-10-28 23:31:45 +00:00
Maurus Cuelenaere
d789e41884 Add support for running Lua games/apps from the Plugins menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23390 a1c6a512-1295-4272-9138-f99709370657
2009-10-28 23:31:42 +00:00
Thomas Martitz
1016ee4e80 Initial custom statusbar commit.
The custom statusbar can be used as a WPS for the main UI, using .(r)sbs files. It's using the skin engine and knows all tags the WPS also knows.
The default folder for .sbs is the wps folder to reuse images used in the WPS.
As it can be shown in the WPS also, it's useful to move shared parts to the custom statusbar in order to save skin buffer space.
There are a few restrictions/TODOs:
*) Peak meter doesn't redraw nicely(not frequent enough), as very frequent updates would slow the UI down as hell (some targets fight with it in the WPS already: FS#10686)
*) No touchregion support as the statusbar doesn't have any action handling (it won't fail to parse though).
*) Drawing stuff into the default VP is forbidden (loading images in it is not). You *need* to use viewports for the displaying stuff (parsing fails if no viewport is used).
*) Themes that don't use a custom ui viewport can be fixed up using the new %Vi tag to avoid nasty redraw effectts (you must not draw into it as well, it's used to fix up the ui viewport). %Vi describes the viewport that the lists can use without getting in the way of the statusbar.

Otherwise, it behaves like the classic statusbar, it can be configured in the theme settings, and can be turned off in the wps using %wd.

Note to translaters: When translating LANG_STATUSBAR_CUSTOM, please consider using the same translation as for LANG_CHANNEL_CUSTOM if it's compatible. They could be combined later then.

Flyspray: FS#10566
Author: myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23258 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 15:28:15 +00:00
Dave Chapman
4fe2ee0221 Add crypt_firmware plugin for Nano2G - this uses the hardware crypto unit to encrypt (or decrypt) a firmware image for writing to a Nano 2G's firmware partition with ipodpatcher (patch for ipodpatcher is at FS#10609). Also introduce BOOTFILE_EXT2 define for an alternative firmware file extension and add .ipodx for the Nano 2G (.ipod is for unencrypted images, similar to older ipods, and .ipodx is for encrypted images and include the 2KB hash block and modelname 'nn2x').
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23068 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 11:46:23 +00:00
Nils Wallménius
3200d04d75 Make the formatter functions used by the settings return a pointer to avoid usless copying of lang strings, this brought with it a long chain of const correctness and a few random cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22440 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 16:47:44 +00:00
Mohamed Tarek
320bd1adb8 Fix a bug spotted by Maurus Cuelenaere; rockbox crashed on viewing the porperties of files with unsupported extensions due to the null ext list in
raac. Also add support for audio-only rmvb files.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22065 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 11:36:26 +00:00
Mohamed Tarek
e184ef1027 Adding support for rm playback. Only cook codec is supported for now and no seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21695 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 22:40:45 +00:00
Dave Chapman
25d4f4bb7a Add .oga as a valid file extension for Ogg vorbis files. Even though Xiph recommend against using .oga for vorbis (for compatibility reasons), they say that it may be used, and some applications (e.g. Gnome Media) are doing so.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18932 a1c6a512-1295-4272-9138-f99709370657
2008-10-30 01:17:26 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Dominik Wenger
25bb37bb68 commit asap codec. plays .sap files. At the moment it only plays the default song. So subSongs are ignored.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18121 a1c6a512-1295-4272-9138-f99709370657
2008-07-26 15:16:10 +00:00
Bertrik Sikken
9569de0fe1 Remove unnecessary #include
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18088 a1c6a512-1295-4272-9138-f99709370657
2008-07-18 21:37:08 +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
Nils Wallménius
11a667b6ca FS#9033 by Alexander Levin, also a couple of minor typo fixes by me and making the inbuilt_filetypes array static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17625 a1c6a512-1295-4272-9138-f99709370657
2008-05-24 20:56:19 +00:00
Dominik Riebeling
1659a1a031 Don't do the same check twice. Thanks to fml on IRC for noting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17624 a1c6a512-1295-4272-9138-f99709370657
2008-05-24 20:03:56 +00:00
Thom Johansen
c0f7eb9f9d FS #8680. MOD codec by Rainer Sinsch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17595 a1c6a512-1295-4272-9138-f99709370657
2008-05-21 11:19:58 +00:00
Steve Bavin
ad95df2cab Const police raid.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17474 a1c6a512-1295-4272-9138-f99709370657
2008-05-12 17:52:50 +00:00
Bertrik Sikken
2843469876 Moved atoi declaration to stdlib.h. Deleted atoi.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17280 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 16:18:04 +00:00
Nils Wallménius
6848961aa5 Pass the buffer length to the list_get_name callback functions instead of using hardcoded MAX_PATH
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17049 a1c6a512-1295-4272-9138-f99709370657
2008-04-09 15:25:17 +00:00
Jens Arnold
02580851ad Revert... stupid svn doesn't complain when passing -m twice :(
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16939 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:45:23 +00:00
Jens Arnold
01a106dbfa Make the measured LCD scanrates from the greylib known to the scanrate test plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16938 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:42:21 +00:00
Jens Arnold
1f4bcc86da Revert accidental tree commit. /me needs a smaller enter key...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16805 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:57:23 +00:00
Jens Arnold
9a7978aeab Cabbiev2 gigabeat background: reduce WPS backdrop filesize by storing it as 24 bit BMP instead of unnecessary 32 bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16802 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:43:08 +00:00