|
Packit |
aa8a04 |
THIS FILE IS OUT DATED
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
double check the bmp loader for possibly errors when
|
|
Packit |
aa8a04 |
the header has been tampered
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
FIX the VERSION define
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Fix that lv-inspect builds, after the lib has been installed.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
replace stdint.h with sys/types.h and have defines so we don't have to change all
|
|
Packit |
aa8a04 |
the code (besides u_int16_t sounds less nice than uint16_t :))
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
This file is not very ordered and kinda a scrapbook, but it contains all
|
|
Packit |
aa8a04 |
the future planning.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Soon:
|
|
Packit |
aa8a04 |
bin:
|
|
Packit |
aa8a04 |
***** REWRITE THE BIN MESS, I WROTE UTTERLY FUCKING SHIT *****
|
|
Packit |
aa8a04 |
* check if we don't negotiate too often.
|
|
Packit |
aa8a04 |
* crash when very quickly switching in xmms plugin
|
|
Packit |
aa8a04 |
x * if morphing from 8 to 32 and then while morphing to 8 again, the main actor stays in 32 bits
|
|
Packit |
aa8a04 |
* check if memory is released as soon as possible all the time.
|
|
Packit |
aa8a04 |
x * property to force morphs in high bpp
|
|
Packit |
aa8a04 |
* when switching quickly sometimes plugins don't get drawn to the right depth surface
|
|
Packit |
aa8a04 |
* test the bin, toggle between direct and morph, check if depthflag works good etc etc
|
|
Packit |
aa8a04 |
* nogwel wat meer issues met switchen, maak een switch random ofzo om het eens hard te
|
|
Packit |
aa8a04 |
testen
|
|
Packit |
aa8a04 |
* vanuit gl naar oinksie direct door naar JESS kaboem.
|
|
Packit |
aa8a04 |
* outdate songinfo on a switch.
|
|
Packit |
aa8a04 |
* FOR RERWITE: on morph do both actors in two thread when threading
|
|
Packit |
aa8a04 |
is available.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
auto sched:
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
random:
|
|
Packit |
aa8a04 |
* easily filter out gl plugins
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
examples:
|
|
Packit |
aa8a04 |
* find a way to compile examples AFTER installing the current library.
|
|
Packit |
aa8a04 |
* port simplesdl to the new bin system.
|
|
Packit |
aa8a04 |
* make an example using a NON managed bin, and also a test if this is still working :)
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Af te werken:
|
|
Packit |
aa8a04 |
* when the whole bin stuff is working, test excluding opengl stuff within the xmms plugin
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Automakeify todo:
|
|
Packit |
aa8a04 |
x fix lib version
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
LEGAL:
|
|
Packit |
aa8a04 |
x Add copyright notice to all the files
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
DOCS:
|
|
Packit |
aa8a04 |
optimization docs:
|
|
Packit |
aa8a04 |
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22007.pdf
|
|
Packit |
aa8a04 |
http://www.intel.com/cd/ids/developer/asmo-na/eng/microprocessors/index.htm
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
mmx, sse etc:
|
|
Packit |
aa8a04 |
http://www.angelcode.com/refdb/category/51.asp
|
|
Packit |
aa8a04 |
http://aggregate.org/PPLINUX/19971124/pphowto-4.html
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Alpha blending:
|
|
Packit |
aa8a04 |
http://www.gamedev.net/reference/programming/features/mmxblend/page2.asp
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
3d,4d functions:
|
|
Packit |
aa8a04 |
http://www.geocities.com/projectgreenshift/4dgraphs.html
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
gcc inline assembler:
|
|
Packit |
aa8a04 |
http://www.osdever.net/tutorials/gccasmtut.php?the_id=68
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
plugins:
|
|
Packit |
aa8a04 |
!(option flags, include a 'reentrant' flag that indicates that the plugin is allowed to load twice) (make a notreentrant flag rather)
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
docs:
|
|
Packit |
aa8a04 |
plugin tutorial
|
|
Packit |
aa8a04 |
application tutorial
|
|
Packit |
aa8a04 |
plugin writers guide
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
libvisual:
|
|
Packit |
aa8a04 |
audio:
|
|
Packit |
aa8a04 |
allow pre buffer to be requested, implement a queue buffer (post 0.1)
|
|
Packit |
aa8a04 |
More advanced audio core and capable of transforming audio buffers
|
|
Packit |
aa8a04 |
to different ones (post 0.3)
|
|
Packit |
aa8a04 |
investigate bpm detection (post 0.4)
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
video:
|
|
Packit |
aa8a04 |
font system
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
check for opengl when setting up transformation buffers
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
add a superfast double pixeler (post 0.2)
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
make start framework that handles sse, mmx etc (post 0.2)
|
|
Packit |
aa8a04 |
sse, sse2, mmx work: (post 0.2):
|
|
Packit |
aa8a04 |
colorspace transformations
|
|
Packit |
aa8a04 |
alpha blend code
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
16 bits alpha optimize: And do two at once using 32 bits ints (post 0.2)
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
test >all< the video transformation stuff very well
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
sizing: When not fitting, it doesn't place in the middle, this is easy
|
|
Packit |
aa8a04 |
to do for the fitting enviroment but a bit less easy for the
|
|
Packit |
aa8a04 |
depth transform env, because the advantage we have within
|
|
Packit |
aa8a04 |
the depth transform is that we can give an pitch.
|
|
Packit |
aa8a04 |
we have to look into this better
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
sched: (post 0.2)
|
|
Packit |
aa8a04 |
implement the auto scheduler.
|
|
Packit |
aa8a04 |
have the auto scheduler react on music
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
property: (post 0.4)
|
|
Packit |
aa8a04 |
implement an property system which plugins can use to set properties
|
|
Packit |
aa8a04 |
and (g)uis can use to present them to the user.
|
|
Packit |
aa8a04 |
implement an within buffer fallback to do settings as well
|
|
Packit |
aa8a04 |
use the syneathesia in buffer stuff as an example for this !
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
settings: (post 0.5) (do we need this ?)
|
|
Packit |
aa8a04 |
a mechanism to enable/disable VISUAL_LOG_DEBUG messages.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
a system to store plugin settings.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
next plugin, prev plugin keymaps how do we do ?
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
util: (post 0.2)
|
|
Packit |
aa8a04 |
functions to check for mmx, sse etc and a good arch detection system.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
actor:
|
|
Packit |
aa8a04 |
Honor plugin flags better (post 0.1)
|
|
Packit |
aa8a04 |
Have a mechanism to request a depth from within the plugin, which is needed
|
|
Packit |
aa8a04 |
for plugins like the pixbuf loader.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
plugins:
|
|
Packit |
aa8a04 |
have a way to version tag plugins (post 0.1) (Within the new plugin system ?)
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
global params:
|
|
Packit |
aa8a04 |
a global prop to do settings for songinfo (to show, how long shown)
|
|
Packit |
aa8a04 |
a param that disables blurs and field displacement in a plugin
|
|
Packit |
aa8a04 |
so that you can use other plugins to render
|
|
Packit |
aa8a04 |
inside another
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
libvisual:
|
|
Packit |
aa8a04 |
After the events stuff do a good code review + cleanups.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
cleanups:
|
|
Packit |
aa8a04 |
functions returning strings that cannot be changed, must be
|
|
Packit |
aa8a04 |
typed with const returns.
|
|
Packit |
aa8a04 |
cleanup the fixmes
|
|
Packit |
aa8a04 |
make use of the lv_log system and do better error checking
|
|
Packit |
aa8a04 |
void * -> byte/word types on other archs !?
|
|
Packit |
aa8a04 |
comment code
|
|
Packit |
aa8a04 |
go through all the structs and cleanup naming here and there
|
|
Packit |
aa8a04 |
move the headers to include/ ?? (really ??)
|
|
Packit |
aa8a04 |
test against: http://www.linuxbase.org/
|
|
Packit |
aa8a04 |
I've always been declaring vars at the top of the function, however
|
|
Packit |
aa8a04 |
Ive started to think it's cleaner to declare them in their target
|
|
Packit |
aa8a04 |
scope.
|
|
Packit |
aa8a04 |
VISUAL_ACTOR ( ), VISUAL_INPUT ( ) cast like macros (???) ?
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
doxygen:
|
|
Packit |
aa8a04 |
fix alphabetic list, why is this borked for functions ?
|
|
Packit |
aa8a04 |
rename actor, input to VisActor, etc at some places.
|
|
Packit |
aa8a04 |
use # at places where this is useful.
|
|
Packit |
aa8a04 |
fix docs for plugin function.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
portability:
|
|
Packit |
aa8a04 |
have byteswap helper functions and use them where endianess issues
|
|
Packit |
aa8a04 |
arise (lv_bmp.c)
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Other:
|
|
Packit |
aa8a04 |
Make Gstreamer elements from the actors.
|
|
Packit |
aa8a04 |
morph plugins.
|
|
Packit |
aa8a04 |
and input plugins.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Tools:
|
|
Packit |
aa8a04 |
lv-inspect: to get detailed information about a plugin
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Threading:
|
|
Packit |
aa8a04 |
Have VisThread, VisMutex and threading api to wrap other
|
|
Packit |
aa8a04 |
threading systems within, like pthreads or win32 native threading API.
|
|
Packit |
aa8a04 |
this is for internal usage within the library, plugins shouldn't
|
|
Packit |
aa8a04 |
be threaded.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Threadify some plugin opts, like the input plugin, two actor plugins at
|
|
Packit |
aa8a04 |
morph
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Params:
|
|
Packit |
aa8a04 |
When libvisual settings backend lands, have a 'serialize' flag that does save, load parameters.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
VisCPU:
|
|
Packit |
aa8a04 |
A small sub system to obtain information about the processor, processors, cpu flags, simd set flags.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
Use this for the timed morph as well.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
explicitly disable 'mmx' through an API. mmx can be a disaster in multithreading environments
|
|
Packit |
aa8a04 |
because of it's sharing registers with the fpu registers thingy.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
INTERNAL:
|
|
Packit |
aa8a04 |
LOG:
|
|
Packit |
aa8a04 |
Make public the maximum length of the string that can be showed.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
tests:
|
|
Packit |
aa8a04 |
port the tests over to the application API (post 0.1).
|
|
Packit |
aa8a04 |
with some people they start out in fullscreen mode (post 0.1)
|
|
Packit |
aa8a04 |
seems to be somewhat related to esd running as an user and
|
|
Packit |
aa8a04 |
launching the tests as root (?!), or better sdl not using
|
|
Packit |
aa8a04 |
x as it's backend but something else.
|
|
Packit |
aa8a04 |
|
|
Packit |
aa8a04 |
FUTURE:
|
|
Packit |
aa8a04 |
* an highend API and library that also helps with displaying (do display support plugin wise ??)
|
|
Packit |
aa8a04 |
* an highend API and library that allows scheduling on a timeline, scene based etc etc for VJ like stuff.
|
|
Packit |
aa8a04 |
|