summaryrefslogtreecommitdiff
path: root/apps/playback.c (follow)
Commit message (Expand)AuthorAge
* Added track number sorting to the tagcache and a few new tags to theMiika Pekkarinen2006-03-30
* New 'Track Skip Only' option for Crossfading; crossfading is disabled except ...Zakk Roberts2006-03-30
* Fixed some red builds.Miika Pekkarinen2006-03-26
* Fill WPS tags from tagcache if available.Miika Pekkarinen2006-03-26
* Fix a problem where audio would stay paused after a stop and start of playbackBrandon Low2006-03-25
* Convert playback.c to use unsigned byte counters, and _minor_ refactoring of ...Brandon Low2006-03-24
* Allow the pcm buffer to fill while playback is pausedBrandon Low2006-03-23
* First small step in playback.c's pending makeover. Properly lock and cleanup...Brandon Low2006-03-23
* Use size-correct casts. Fixes some AMD64 sim warnings.Thom Johansen2006-03-22
* Quick fix for voice UI on iPods. Proper fix (which does not impactThom Johansen2006-03-22
* More 64bit simulator fixes, coinciding with the long policy this time.Jens Arnold2006-03-03
* Fixed the early usb initialization problem.Miika Pekkarinen2006-02-24
* Rework PCM bufferBrandon Low2006-02-07
* Patch #1421483 - AIFF codec by Jvo StuderDave Chapman2006-02-01
* Codec buffer was initialized too early thus crashing the unit later.Miika Pekkarinen2006-01-28
* Don't use crossfader mix mode when skipping tracks manually.Miika Pekkarinen2006-01-27
* iriver: Init audio on background.Miika Pekkarinen2006-01-27
* Muting trick to prevent tiny pops and glitchless mp3 seeking.Miika Pekkarinen2006-01-22
* Fix a bug in the end of track updatesBrandon Low2006-01-22
* AB-repeat mode for software codecs. Accessible through menu as a repeat mode...Brandon Low2006-01-21
* Add seamless seeking support, this is needed for AB-repeat mode on swcodec.Brandon Low2006-01-21
* Continue to update playback status after decoding is complete (the progress b...Brandon Low2006-01-21
* Fixed a few iriver playback quirks and issues with previous fixes.Miika Pekkarinen2006-01-20
* iriver: Better fix for the previous problem, stop playback if nextMiika Pekkarinen2006-01-19
* Don't start playback twice if pcm buffer runs empty when switching toMiika Pekkarinen2006-01-19
* Patch #1408536 by Mark Arigo - properly strip ID3V1 tagsLinus Nielsen Feltzing2006-01-18
* Simulator fixes: id3 string pointers can be null.Magnus Holmgren2005-12-22
* H300: quick fix for the broken line-in recordingLinus Nielsen Feltzing2005-12-20
* waiting is over: initial unicode commitMarcoen Hirschberg2005-12-06
* kill gcc4 warningsDaniel Stenberg2005-12-05
* Fixed a problem with playback when skipping from last track. No moreMiika Pekkarinen2005-12-03
* Fixed a playback problem when seeking "too early".Miika Pekkarinen2005-12-01
* iRiver: Fixed several problems with playback on track skipping & loading:Miika Pekkarinen2005-12-01
* Enabled playback speed adjustment support for H1x0. Modified the resampler to...Thom Johansen2005-11-28
* iRiver: Removed a playlist_update_resume_info call which was called a way tooMiika Pekkarinen2005-11-27
* iRiver: Fixed the resume behaviour with the playback engine.Miika Pekkarinen2005-11-23
* Fixed playlist skipping of incorrect files and playback engine not toMiika Pekkarinen2005-11-21
* refactored radio status codeAnton Oleynikov2005-11-19
* Fixed a problem that wps didn't update instantly with buffered tracksMiika Pekkarinen2005-11-19
* Fixed the track skipping problem when repeat all and change to nextMiika Pekkarinen2005-11-19
* More stable playback with reduced stuttering when skipping tracks.Miika Pekkarinen2005-11-18
* Remote WPS support (and some WPS bugfixes) by Stephan WezelChristi Scarborough2005-11-17
* Added dircache support to playlist. Now playlist filename pointers areMiika Pekkarinen2005-11-17
* replaced all the splash calls by gui_sync_splash, added some missing remote k...Kevin Ferrare2005-11-16
* removed set audio status method - will be using different approachAnton Oleynikov2005-11-13
* iRiver: fix for audio kept on while playing a file + new function to set audi...Anton Oleynikov2005-11-13
* Patch #1352575 - Shorten codec from the ffmpeg project. Rockbox implementati...Dave Chapman2005-11-11
* iRiver: more robust folder skip routines + folder navigation on main unit viaAnton Oleynikov2005-11-10
* Sound settings rework: * Put all fixed parameters (unit, decimals, step, min,...Jens Arnold2005-11-06
* iRiver: New crossfader with more configuration capability. Might stillMiika Pekkarinen2005-11-06
l kwa">else { if (d < 0) return luaL_error(L, "field " LUA_QS " missing in date table", key); res = d; } lua_pop(L, 1); return res; } #endif static int os_date (lua_State *L) { const char *s = luaL_optstring(L, 1, "%c"); time_t t = luaL_opt(L, (time_t)luaL_checknumber, 2, #if CONFIG_RTC rb->mktime(rb->get_time()) #else 0 #endif ); struct tm *stm; if (*s == '!') /* UTC? */ /* Rockbox doesn't support timezones */ s++; /* skip `!' */ stm = gmtime(&t); if (stm == NULL) /* invalid date? */ lua_pushnil(L); else if (strcmp(s, "*t") == 0) { lua_createtable(L, 0, 9); /* 9 = number of fields */ setfield(L, "sec", stm->tm_sec); setfield(L, "min", stm->tm_min); setfield(L, "hour", stm->tm_hour); setfield(L, "day", stm->tm_mday); setfield(L, "month", stm->tm_mon+1); setfield(L, "year", stm->tm_year+1900); setfield(L, "wday", stm->tm_wday+1); setfield(L, "yday", stm->tm_yday+1); setboolfield(L, "isdst", stm->tm_isdst); } else { char cc[3]; luaL_Buffer b; cc[0] = '%'; cc[2] = '\0'; luaL_buffinit(L, &b); for (; *s; s++) { if (*s != '%' || *(s + 1) == '\0') /* no conversion specifier? */ luaL_addchar(&b, *s); else { size_t reslen; char buff[200]; /* should be big enough for any conversion result */ cc[1] = *(++s); reslen = strftime(buff, sizeof(buff), cc, stm); luaL_addlstring(&b, buff, reslen); } } luaL_pushresult(&b); } return 1; } static int os_time (lua_State *L) { time_t t = -1; #if CONFIG_RTC if (lua_isnoneornil(L, 1)) /* called without args? */ t = rb->mktime(rb->get_time()); /* get current time */ else { struct tm ts; luaL_checktype(L, 1, LUA_TTABLE); lua_settop(L, 1); /* make sure table is at the top */ ts.tm_sec = getfield(L, "sec", 0); ts.tm_min = getfield(L, "min", 0); ts.tm_hour = getfield(L, "hour", 12); ts.tm_mday = getfield(L, "day", -1); ts.tm_mon = getfield(L, "month", -1) - 1; ts.tm_year = getfield(L, "year", -1) - 1900; ts.tm_isdst = getboolfield(L, "isdst"); t = rb->mktime(&ts); } #endif if (t == (time_t)(-1)) lua_pushnil(L); else lua_pushnumber(L, (lua_Number)t); return 1; } /* }====================================================== */ static int os_exit (lua_State *L) { exit(luaL_optint(L, 1, EXIT_SUCCESS)); return EXIT_SUCCESS; /* never reached, surpress warning */ } static const luaL_Reg syslib[] = { //{"clock", os_clock}, {"date", os_date}, //{"difftime", os_difftime}, //{"execute", os_execute}, {"exit", os_exit}, //{"getenv", os_getenv}, {"remove", os_remove}, {"rename", os_rename}, //{"setlocale", os_setlocale}, {"time", os_time}, //{"tmpname", os_tmpname}, {NULL, NULL} }; /* }====================================================== */ LUALIB_API int luaopen_os (lua_State *L) { luaL_register(L, LUA_OSLIBNAME, syslib); return 1; }