Nasal/CppBind: Difference between revisions

Jump to navigation Jump to search
3,053 bytes removed ,  8 May 2014
m (→‎Worthwhile Targets: VoiceSynthesizer: https://gitorious.org/fg/flightgear/source/b80b010ef146b3d5914ea8e608eeb53aef28798e:src/Sound/VoiceSynthesizer.cxx#L51)
Line 26: Line 26:




After working through this article, some of the more useful things to play with it the beginning, would be exposing additional SG/FG classes to Nasal space, such as for example:
{{CppBind Ideas}}
* SGPath {{Done}} (by TheTom)
* FGProtocol, to implement I/O protocols via Nasal (and help solve {{issue|396}} and support AJAX, REST, JSON or WebSockets) {{Progressbar|30}} [http://forum.flightgear.org/viewtopic.php?f=30&t=21346&p=194458&hilit=fginterface#p194456] [http://forum.flightgear.org/viewtopic.php?f=18&t=21561&p=196141#p196141] [http://forum.flightgear.org/viewtopic.php?f=18&t=22630&p=205664#p205430] (stubs available at [https://gitorious.org/fg/hoorays-flightgear/commits/topics/cppbind-fgprotocol])
* the loglist/SG_LOG() logging buffer machinery [http://forum.flightgear.org/viewtopic.php?f=17&t=21480&p=195517#p195517]
* expose [https://gitorious.org/fg/flightgear/source/b80b010ef146b3d5914ea8e608eeb53aef28798e:src/Sound/VoiceSynthesizer.cxx#L51 VoiceSynthesizer]/FLITE TTS[https://gitorious.org/fg/flightgear/commit/b80b010ef146b3d5914ea8e608eeb53aef28798e] to Nasal to get rid of ATC chatter [http://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/F10078E6-0D1B-458E-9DAB-2E54D877EA6E%40mac.com/#msg32314788] {{Not done}}
* the SGSubsystem interface to register scripted SGSubsystems
* flight path history {{Progressbar|70}} see: [http://forum.flightgear.org/viewtopic.php?f=71&t=21139&p=196295#p196295]
* the flight recorder system (replay buffers)
* [[State machines]] e.g. to help clean up the ND code [https://gitorious.org/fg/fgdata/commit/f8c56dcc52ffd3d6dfca1d39dc4a72b6b3478368]
* the autopilot system [http://forum.flightgear.org/viewtopic.php?p=149376#p149376] [http://forum.flightgear.org/viewtopic.php?f=66&t=21217&hilit=cppbind#p193357] [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38172.html] (there are certain [[How the Nasal GC works|Nasal GC issues]], so that we ask people not to implement FDM-coupled Nasal code like autopilots)
* exposing the sound manager, so that scripts can directly play audio files [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg18550.html]
* exposing the random buildings system [http://forum.flightgear.org/viewtopic.php?f=5&t=21131&p=192489&hilit=cppbind#p192489]
* There's also a pending feature request ({{Issue|619}}) to implement USB-HID support [http://forum.flightgear.org/viewtopic.php?f=24&t=20159&p=185021&hilit=cppbind#p185021].
* effects framework ?
* [[Howto:Using OpenCL in FlightGear]]
* [[Developing with HLA|Nasal/HLA bindings]], so that we can run certain scripts as HLA federates outside the fgfs process space (such as bombable or local weather)
 
Before working on anything related, please do get in touch with other contributors to ensure that this list is still up-to-date.
 
For more technical Nasal questions (C API, internals etc), you'll probably want to refer to Philosopher, TheTom, Zakalawe or Hooray on the forum - TheTom and Zakalawe can also provide help on using cppbind, having both used it extensively during the last months.


== Prerequisites ==
== Prerequisites ==

Navigation menu