URL: <http://savannah.gnu.org/task/?6707>
Summary: Submission of ksseq Project: Savannah Administration Submitted by: krampenschiesser Submitted on: Sunday 04/01/2007 at 09:52 Should Start On: Sunday 04/01/2007 at 00:00 Should be Finished on: Wednesday 04/11/2007 at 00:00 Category: Project Approval Priority: 5 - Normal Status: None Privacy: Public Percent Complete: 0% Assigned to: None Open/Closed: Open Discussion Lock: Any Effort: 0.00 _______________________________________________________ Details: A new project has been registered at Savannah This project account will remain inactive until a site admin approves or discards the registration. = Registration Administration = While this item will be useful to track the registration process, *approving or discarding the registration must be done using the specific Group Administration <https://savannah.gnu.org/siteadmin/groupedit.php?group_id=9206> page*, accessible only to site administrators, effectively *logged as site administrators* (superuser): * Group Administration <https://savannah.gnu.org/siteadmin/groupedit.php?group_id=9206> = Registration Details = * Name: *ksseq* * System Name: *ksseq* * Type: non-GNU software & documentation * License: GNU General Public License V2 or later ---- ==== Description: ==== My project aims to give musicians a network of midi(rtmidi) sequencers, which shall be used for live sessions. It will mainly offer the same possibilities of a groovebox. These are loop based sequencing, arpeggiators, step sequencers and pianoroll editors. Based on a server->sequencer->gui network it is possible to get more than one computer to work on the same sequence at the same time. So a live-act based on more than one person can interact together on the same song. This is possible because every sequencer is splitted into two parts. The sequencer part is only a console app which communicates via osc(liblo) and the gui(SDL) which sends and receives osc messages to and from a sequencer. Exact timing is achieved through the use of rt sleep functions and SCHED_FIFO thread priority. Save and configuration files are all xml(tinyxml) files. The structure of the network is as follows: At first the server will be started, then the timer, which handles tact and tact resolution/position. Then a sequencer starts and registers its port and address at the server and receives the port and address of the timer. Then the sequencer registers itself at the timer to get the correct tact information. At least the gui starts and requests the sequencer port and address from the server and connects to these. Then you can work on this. To test my app, first copy the files in ksseq/share to /usr/share/ksseq. Then simply run ksserver, kstimer, ksdrum, and ksdrumgui to get a basic impression. Something about the gui: I recognized the basic disuseability of common audio software. That is rare midi implementation and mostly none keyboard shortcuts. I change this as I offer the basic use of 8 midi controllers to edit software controllers and keyboard shortcuts to mute unmute and change any value you see on the app. Try it out: keys 1-8 and q-i are used for step muting. keys a-k and y-, are used for part muting. enter mutes the whole sequencer. f1-f8 mute the lines. ctrl and shift switch between the setall/addall mode. tab and caret switch line and step select/mute modes. To get the code visit http://krampenschiesser.dynalias.net:5890/~scar/code/ Sorry that this is a dynamic ip but I don't have own webspace. If it doesn't work send me an email at [EMAIL PROTECTED] So that I either fix the apache bug or send the code to you. ==== Other Software Required: ==== I use following libs: for midi I use rtmidi: http://www.music.mcgill.ca/~gary/rtmidi/ for osc liblo: http://liblo.sourceforge.net/ for xml tinyxml: http://www.grinninglizard.com/tinyxml/ and SDL, SDL_image, SDL_ttf for the gui. http://www.libsdl.org _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/task/?6707> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/