On Fri, February 7, 2014 7:41 am, Christian Schoenebeck wrote: > Ok, I just committed an initial version of the LSCP shell to SVN. The > application is just called "lscp". There is also a man page. > > I decided to go the thin-client route, that is LSCP aware stuff being > handled > on sampler side, and the shell application is more or less just forwarding > individual key strokes to the sampler and handling output format (color & > printing) of the returned informations on the command line terminal. That > should make the shell be versatile for being used successfully against > various > LinuxSampler versions, no matter what the exact LSCP version is, and keeps > development/maintenance effort low. > > Current shell features: > > - Colored highlighting while typing (i.e. good portions bold white, > syntactical bad portions red, if the command is complete and ready to > be fired: green, ...). > > - Auto completion by tab key. The shell will also show a possible > completion in real-time while typing. So that one does not need to > guess when it is possible to tab-complete the command. You see it > immediately. > > - Auto correction of trivial mistakes: for now this just covers auto > converting i.e. lower case characters to upper case (if necessary, > according to current LSCP grammar position), space characters to > underscore characters and vice versa (also according to grammar > position). > In future: orthographically similar mistyped keywords might be auto > corrected as well. Not a hard task. > > I actually also planned to integrate the LSCP reference into the shell. > That > is, if a certain LSCP command is identified, the shell would automatically > show the relevant LSCP reference document section below the current > command > line (and paging the shown LSCP reference with PGUP, PGDOWN keys). > > However ... I have now to work on completely other stuff for a while, so > this > spare time fun is postponed for now. > > The Windows version of LinuxSampler is currently broken, because I used > the > POSIX termios API to get the required control over the command line > terminal. > That API does not exist on Windows. If anybody is interested in trying to > fix > this on Windows, it would be very much appreciated! > > That's it for now. >
Hi, It compiles fine for me on debian-7.0 64bit. However it crashes on start and I get this backtrace: Reading symbols from /usr/bin/lscp...done. (gdb) run Starting program: /usr/bin/lscp [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x00007ffff749449a in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb) bt #0 0x00007ffff749449a in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #1 0x0000000000408a4e in operator-- (this=<synthetic pointer>) at /usr/include/c++/4.7/bits/stl_tree.h:203 #2 std::_Rb_tree<void*, std::pair<void* const, int>, std::_Select1st<std::pair<void* const, int> >, std::less<void*>, std::allocator<std::pair<void* const, int> > >::_M_insert_unique ( this=this@entry=0x60d340, __v=...) at /usr/include/c++/4.7/bits/stl_tree.h:1295 #3 0x0000000000408b7b in std::_Rb_tree<void*, std::pair<void* const, int>, std::_Select1st<std::pair<void* const, int> >, std::less<void*>, std::allocator<std::pair<void* const, int> > >::_M_insert_unique_ (this=this@entry=0x60d340, __position=..., __v=...) at /usr/include/c++/4.7/bits/stl_tree.h:1348 #4 0x00000000004080d4 in insert (__x=..., __position=..., this=0x60d340) at /usr/include/c++/4.7/bits/stl_map.h:576 #5 operator[] (__k=<optimized out>, this=0x60d340) at /usr/include/c++/4.7/bits/stl_map.h:458 #6 _newTermios () at TerminalCtrl.cpp:26 #7 TerminalCtrl::now () at TerminalCtrl.cpp:93 #8 0x000000000040a29f in KeyboardReader::KeyboardReader (this=0x60d060) at KeyboardReader.cpp:16 #9 0x0000000000406caa in __static_initialization_and_destruction_0 (__initialize_p=<optimized out>, __priority=<optimized out>) at lscp.cpp:31 #10 _GLOBAL__sub_I_main () at lscp.cpp:249 #11 0x000000000040a41d in __libc_csu_init () #12 0x00007ffff69fbe40 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #13 0x0000000000406e11 in _start () -- Patrick Shirkey Boost Hardware Ltd ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk _______________________________________________ Linuxsampler-devel mailing list Linuxsampler-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel