|
From: Lasse Kärkkäi. <tr...@us...> - 2010-01-14 22:33:45
|
Module: performous
Branch: master
Commit: 1f8ebee3ed40aaf7669d019b372e84621006f4b0
Author: Lasse Karkkainen <tro...@tr...>
Date: Fri Jan 15 00:01:14 2010 +0200
Update TODO.txt with new plans, also removed old crashes that don't seem to be relevant anymore.
---
docs/TODO.txt | 70 +++++++++++---------------------------------------------
1 files changed, 14 insertions(+), 56 deletions(-)
diff --git a/docs/TODO.txt b/docs/TODO.txt
index 2d8377e..dd2933b 100644
--- a/docs/TODO.txt
+++ b/docs/TODO.txt
@@ -24,10 +24,18 @@ Big features:
Features:
-- Auto-calibration of acoustic roundtrip latency (playback + capture)
-- Better audio card configuration ingame (needs libda support for listing cards) [WIP]
+- Latency calibration
+ * Audio roundtrip by analyzing the sound captured by the microphone
+ * Controller/audio latency by playing blindly (listening to the beat only)
+ * Audio/video by playing visually without audio? (needs controller/audio calibrated)
+- Better audio card configuration ingame (needs PortAudio backend) [WIP]
- Allow playing a single song given as commandline argument (no menus)
-- Kiosk/arcade mode
+- Kiosk/arcade mode (disable exiting game and limit other functions)
+
+
+Dance features:
+- Colored arrows for timing
+- BGCHANGE support (background videos)
Text rendering bugs:
@@ -44,7 +52,7 @@ New config menu:
- Predefined options from config schema and libda device enumeration
-Ripper:
+SS Ripper:
- Compress into Vorbis Ogg and H.264 MKV
@@ -52,58 +60,8 @@ Ripper:
Bugs:
- On Compiz switching from fullscreen to window makes the window maximized even though the viewport stays small
-- Random segfault deep within librsvg when entering the singing screen (very hard to reproduce)
-
-*** glibc detected *** performous: free(): invalid pointer: 0x00007f1bc016ec30 ***
-======= Backtrace: =========
-/lib/libc.so.6[0x7f1bdc530cb8]
-/lib/libc.so.6(cfree+0x76)[0x7f1bdc533276]
-/usr/lib/libglib-2.0.so.0(g_ptr_array_free+0x4a)[0x7f1bdfca68fa]
-/usr/lib/librsvg-2.so.2[0x7f1bdf5b0c2c]
-/usr/lib/librsvg-2.so.2[0x7f1bdf5b0c59]
-/usr/lib/librsvg-2.so.2[0x7f1bdf59c532]
-/usr/lib/librsvg-2.so.2[0x7f1bdf5be78d]
-/usr/lib/libgobject-2.0.so.0(g_object_unref+0xc2)[0x7f1bdfa5a1f2]
-/usr/lib/librsvg-2.so.2[0x7f1bdf5bed68]
-/usr/lib/librsvg-2.so.2(rsvg_pixbuf_from_file_at_size+0x26)[0x7f1bdf5bee56]
-performous(_Z6loaderI7TextureEvRT_Ssb+0x82c)[0x451e1c]
-performous(_ZN7TextureC1ERKSs+0x44)[0x44f8b4]
-performous(_ZN11ProgressBarC1ERKSsS1_NS_4ModeEffb+0x40)[0x4aebd0]
-performous(_ZN10ScreenSing5enterEv+0x209)[0x4c9379]
-performous(_ZN11ScreenSongs15manageSharedKeyEi6SDLMod+0x178)[0x475d68]
-performous(_ZN11ScreenSongs11manageEventE9SDL_Event+0xcb)[0x47600b]
-performous[0x4d0659]
-performous(_Z8mainLoopv+0x579)[0x4d1bf9]
-performous(main+0x1d30)[0x4d42c0]
-
-- Random segfault on program exit (very hard to reproduce)
- * Don't even need to enter songs screen, start and exit is enough.
-
-- Hang on program exit (deadlock in mixer):
-(gdb) thread 1
-[Switching to thread 1 (Thread 0x7f6f4f1aa8a0 (LWP 13792))]#0 0x00007f6f4949e5a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
-(gdb) bt
-#0 0x00007f6f4949e5a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
-#1 0x00007f6f4ecc7669 in boost::thread::join() () from /usr/lib/libboost_thread.so.1.40.0 // Waiting for audio thread (thread 3) to terminate
-#2 0x00007f6f3d980f09 in ~alsa_playback (this=0x218e770, __in_chrg=<value optimized out>) at /home/tronic/performous/libs/libda/plugins/audio_dev_alsa.cpp:194
-#3 0x000000000048e68d in da::mixer::~mixer() ()
-#4 0x00000000004ffad8 in Audio::~Audio() ()
-#5 0x00000000004f7e73 in mainLoop (songlist=<value optimized out>) at /home/tronic/performous/game/main.cc:179
-#6 0x00000000004f9a9d in main (argc=<value optimized out>, argv=<value optimized out>) at /home/tronic/performous/game/main.cc:290
-(gdb) thread 3
-[Switching to thread 3 (Thread 0x7f6f3c65d910 (LWP 13794))]#0 0x00007f6f494a0c34 in __lll_lock_wait () from /lib/libpthread.so.0
-(gdb) bt
-#0 0x00007f6f494a0c34 in __lll_lock_wait () from /lib/libpthread.so.0
-#1 0x00007f6f4949c2b0 in _L_lock_1022 () from /lib/libpthread.so.0
-#2 0x00007f6f4949c111 in pthread_mutex_lock () from /lib/libpthread.so.0
-#3 0x000000000048c253 in boost::unique_lock<boost::recursive_mutex>::unique_lock(boost::recursive_mutex&) () // Mixer lock?
-#4 0x000000000048cad5 in boost::detail::function::function_ref_invoker1<da::mutex_stream, bool, da::pcm_data&>::invoke(boost::detail::function::function_buffer&, da::pcm_data&) ()
-#5 0x000000000048bd3e in boost::function1<bool, da::pcm_data&>::operator()(da::pcm_data&) const ()
-#6 0x00007f6f3d97fddb in operator() (this=0x218e770) at /home/tronic/performous/libs/libda/plugins/audio_dev_alsa.cpp:205
-#7 0x00007f6f4ecc6db0 in thread_proxy () from /usr/lib/libboost_thread.so.1.40.0
-#8 0x00007f6f49499a04 in start_thread () from /lib/libpthread.so.0
-#9 0x00007f6f492037bd in clone () from /lib/libc.so.6
-#10 0x0000000000000000 in ?? ()
+
+- Segfault when browsing songs in song browser while loading (segfaults before loading finishes), quite rare
- Bitmap surfaces are often loaded only partially, loading stops at a middle of a scanline.
* Affects at least PNG format, maybe not others
|