Hello,
I have a question on the patch (and perhaps, other patches like this), and I hope this does not seem rude, but I have something of a philosophical problem with patch designs like this, that seem very "un-modular" in approach. I believe it is something of a design flaw, that you have hard-coded your personal key mapping preference into the abstraction.
Instead, a modular approach would be to separate the key functions from the camera functions, in two separate abstractions. In PD, this might mean providing a simple message interface for your abstraction. So, your basic abstraction works by receiving the messages [mode $1 (, [rotX $1 (, [rotY $1 (, etc, whatever all your messages are.
Then you make separate key/mouse/hid/joystick patch(es) that go with your object, which are easily replaced by something else in the event they don't meet someone's needs. The help file could maybe refer to both objects, but making sure to explain all messages for the camera object.
I looked at your patch and it certainly would seem that the key/mouse mappings warrant an abstraction of their own. I also wonder if such an object would benefit from the use of a [textfile] that could act like a .ini file and contain the key/mouse mappings in an easy to edit way outside of PD.
Anyway, to get on with my main point: In PD, where there are LOTS of cross-platform compatibility issues, such a modular approach is especially helpful (ie. no HID on Windows). Also, for your particular patch, if there ends up being a conflict with some other keys, it's much easier to debug/deploy for other users when it's modular. Speaking for myself, I'd love to adapt this patch for my VJing stuff, but of course my own interface already has keys assigned. I'd also like to try a joystick instead of the keyboard or mouse. (And yes, I realize I can still take apart your patch and do it myself, which I hope to do).
If I was programming such an object in an OOP, that is how I'd approach this, anyway. Granted, it's nice to see people wanting to do more "high level" things, but (in my opinion) it's also nice to find the right design which makes objects most useful, if you intend to share them with the community.
Now, all my first attempt PD patches are not very good, so I probably shouldn't talk ... but I'll fix that, as soon as I find a new job...
~David
On 4/9/07, Patco megalegoland@yahoo.fr wrote:
marius schebella a écrit :
Hi, I made a new navigation abstraction for the gemwindow. it is called advcam (advanced camera) and by connecting it to your gemwin you can use alt key (and additionally shift key) plus a 3 button(!) mouse to change the view. it has two modes: one is similar to 3d modelling programs, where you can look at the world from different camerapositions, and the other mode is like an ego shooter. I could not test is on windows or linux, so there might be problems with keyboard layouts. I use hid and gemmouse for navigation. please send feedback! oh, you can find it at http://parasitaere-kapazitaeten.net/Pd/advcam marius.
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hello, For the moment there is no chance that this patch works on windows unless it's possible to provide hid.dll, but maybe it's not interesting to have it working on windows? Why don't you use a pd vanilla object for the keyboard inputs?
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list