[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-register-public] [task #6707] Submission of ksseq

From: Christian Löhnert
Subject: [Savannah-register-public] [task #6707] Submission of ksseq
Date: Sun, 01 Apr 2007 09:52:45 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv: Gecko/20070226 BonEcho/


                 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



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
<> page*,
accessible only to site administrators, effectively *logged as site
administrators* (superuser):

* Group Administration

= 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
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
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
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
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

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
Sorry that this is a dynamic ip but I don't have own webspace.

If it doesn't work send me an email at address@hidden
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:
for osc liblo:
for xml tinyxml:
and SDL, SDL_image, SDL_ttf for the gui.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]