When do we have editor API?

Asked by Sami Saada

I was wondering when do we have editor API, so I could add some functionality to GUI editor?

Question information

Language:
English Edit question
Status:
Answered
For:
Kunquat Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Toni Ruottu (toni-ruottu) said :
#1

The earlier prototype editor was made possible by the fact there really wasn't an API at all. We have been subconsciously been pushing the decision of the new API forward to buy some time, so we'd actually see how it should work. How ever we have a vague goal of having some kind of simple editor ready in the first quarter of 2010, allowing us to attend Assembly 2010 with some songs written with Kunquat.

It might well be, that the final editor API will be last thing that gets ready. Tomi is currently working on events. We identified four types of events: instrument, voice, global, and effect. Instrument events (e.g. noteon, noteoff) control instruments and have been round from the beginning, voice events (e.g. autowahspeed :-) have been just appeared in the basic events branch, global events (e.g. jump) are going to be next I guess. Currently there is how ever some problems with some remaining instrument events, such as adding a pedal event.

When the events start to be in condition, we'd need to complete the basic effect framework. This includes the mixing tree Sanna is coding, and the effect processor frame that Tomi has planned. Then adding the effects that Ossi has been working on. At this point we might end up designing a file format for storing effects, but atleast we should have gained some idea about how effect events work.

As for the editor there are three important custom widgets that we have a pretty good idea about, and it would be really useful, if some one picked one of them and started writing prototypes for it. Envelope editor ( #372221 ) is used for editing envelopes. The user interactions still need some designing, but the problem is rather well defined. Then we are going to need an effect mapping widget ( #414732 ) for "drawing" effect trees, we have discussed this with Tomi and are starting to get an idea about how it should work. Last, but not least we are going to nee a sample mapping widget ( #414736 ) this is most tricky and interesting, but should be fairly simple to get going with. If you want to get a go with one of these, we are more than happy to explain them in greater detail.

Revision history for this message
Tomi Jylhä-Ollila (tomi.jylha-ollila) said :
#2

A couple of minor clarifications:

We actually have five event categories. The one missing from the list above is channel events. Also, Note On and Note Off are voice events, although Note On is a special case. The only instrument event right now is the pedal event.

Revision history for this message
Toni Ruottu (toni-ruottu) said :
#3

What are channels anyway?

Revision history for this message
Tomi Jylhä-Ollila (tomi.jylha-ollila) said :
#4

A channel is a playback resource associated with a voice column of whatever pattern is playing. It contains, for instance, several default parameters that are passed to new voices.

Revision history for this message
Toni Ruottu (toni-ruottu) said :
#5

I can haz failed. I should have asked that as a new question.

Revision history for this message
Toni Ruottu (toni-ruottu) said :
#6

We are working on the API today to get the big walls in place.

Revision history for this message
Toni Ruottu (toni-ruottu) said :
#7

So we are starting to have an editor API. Our latest 0.2.4 introduces an editor C API. The API is missing an explicit function for freeing memory, so people experimenting with the current C API, will need to migrate to an explicit function for freeing memory that we will introduce in our next release. The next release (should be 0.3.1) will also introduce a Python version of the API. It is recommended that the python API be used for implementing Kunquat applications. Ofcourse integration with games or music player applications will have to be done in the language the host application is written in. We are hoping that the C API will provide an easy interface to write wrappers for. We are testing out writing wrappers with the said Python API that we are going to use.

Can you help with this problem?

Provide an answer of your own, or ask Sami Saada for more information if necessary.

To post a message you must log in.