[Bringing an old thread up again...] On Monday 09 December 2002 22.56, David Olofson wrote: [...] > If so I would suggest 624 x 64 for a 1U 19" window. The ratio is > 1:9.75; just half a pixel away from 19":1U on the height. 624 gives > you some room for window borders even in 640x480, and height > shouldn't be an issue as long as units stay below 7U. 64 is also a > nice figure for 1U, IMHO. :-)
There were no complaints about using 624 x 64 as the 1U of 19" for virtual rack devices, IIRC. Still sounds nice to me, although, for various reasons, I'd also like to support "half rack" format; ie 312 pixels corresponding to 9½" units. Sounds ok? Anyway, the reason I'm asking is that I'm getting closer and closer to a point where I'll need a highly portable "media player" that can host (for starters) Audiality, to play Audiality specific songs. I'd also like to use the same framework for testing, debugging and editing tools for Audiality, and perhaps other things in the future. Obvious features to add at an early stage is LADSPA hosting and running as a JACK client. Requirements: * Must run on Linux, Mac OS X and Windows at the very least. * Should support full-screen modes. * Concistent look'n'feel across platforms. * Should be fast and responsive. * "Chrome" support; ie per-plugin VST style skins. * A minimum of dependencies, for easy porting and building. * Preferably pure C, to avoid C++ binary compatibility issues. I'd really rather not hack specific player plugins (XMMS, WinAmp and whatnot) for each platform if I can help it. I'd much rather not spend much time hacking stuff that won't even compile on Linux... As it looks now, I'll use SDL for graphics and portable audio output. (Audiality already supports SDL audio, and compiles with that only if there's no OSS.) SDL 1.2 can't handle multiple windows, but I don't really want that anyway, not even in windowed mode. It's going to be entirely rack style, though I'll probably support multiple columns. SDL *can* handle fullscreen, it's highly portable, and it's great for fast low level graphics. The GUI toolkit will be a *very* basic pixmap based one, with an asynchronous, two-way event based API that does not assume the rendering layer is in the same thread or even process as the client. This won't really matter initially, but the idea is that out-of-process clients should be able to run GUI panels in the rack and that kind of stuff. I'll probably add a binding that allows the abuse of Audiality's EEL scripting language for creating GUIs. That way, you can implement "engines" in EEL, so you can construct "real" GUIs without adding compiled code anywhere. (EEL code will run wherever Audiality runs - or you won't get any waveforms rendered.) Obviously, I've looked for something I could use or hack, but it seems like every damn media player is either a huge, non-portable monolith or a half-finished beginner's project - or both. Of course, there appears to be no such thing as a remotely portable media player plugin API. I've been thinking about building one on top of LADSPA, but it seems to be the wrong kind of design for the job entirely. This needs more thinking, though. (Obviously, I should check out the WinAmp and XMMS plugin APIs to get an idea of the feature set, so I don't have to figure it all out through experimentation.) Did I miss something? (Useful cross-platform player plugin APIs, for example...) Is there interest in something like this, or maybe better ideas that would solve my problems as well? A suitable player plugin API I could use, or at least start with? Finally, note that I'm still talking about a "quick hack", rather than The Final Media Player. It's probably going to be lots of copy/paste from various SDL stuff I've written, and pretty messy for starters. I'm just trying to start with a basic idea that isn't *totally* bogus, in case it actually becomes half as useful as it seems to me on a good day. //David Olofson - Programmer, Composer, Open Source Advocate .- The Return of Audiality! --------------------------------. | Free/Open Source Audio Engine for use in Games or Studio. | | RT and off-line synth. Scripting. Sample accurate timing. | `---------------------------> http://olofson.net/audiality -' --- http://olofson.net --- http://www.reologica.se ---