Email or username:

Password:

Forgot your password?
aeva

Do I know anyone who's used Cinder? I am in need of opinions and general information.

EDIT: The C++ library for creative coding.

40 comments
Joel Davis

@aeva I used it for a few projects a couple of years ago. I liked it.

aeva

@joeld42 do you know what the minimum supported opengl version is? I'm trying to estimate how well this will work for a simple music tool that would be running on an old Linux "core2duo" machine

aeva

@joeld42 ah nm I think I found the answer, looks like the baseline is at least gl 3.2 now

aeva

@joeld42 so, next question: are you familiar with the library's audio capabilities? can I use this to record several audio tracks and then mix them together for playback?

Joel Davis

@aeva I used it for a music game which mixed tracks dynamicly and had some effects, it was good for that. I didn’t need recording but I know it’s used for visualizers a lot so it would probably work.

aeva

@joeld42 ok that's really promising. how was the latency?

Joel Davis

@aeva it was very good. Wasn’t the most latency sensitive thing though, more of a DJ game than an instrument, also was on iOS/coreaudio which is really good platform for it. I’d say it depends on the platform you’re targeting more than cinder itself.

aeva

weird, cinder doesn't seem to have a midi api. oh well

mcc

@aeva RTmidi is very easy to integrate

aeva

@mcc I'll probably do that or just grab the code for using the native APIs from one of my other projects. It looks like cinder covers *all* of the other things I need so this isn't really a deal breaker. Do you use cinder for things?

mcc

@aeva I had never heard about it before your post earlier. If I had known about it before 2016 I might have tried it, but I've been trying to move away from c++ for a long time*.

* Although my current project sure does contain a substantial amount of it.

aeva

@mcc after your stream today I got to pondering how to best satisfy my need for a good sequencing and recording workflow, and decided that the best course of action is probably to just write one that merges some of the ideas from the Arturia devices I have and extending the basic pocket operator sequencer.

aeva

@mcc since its a just for me tool first, my only real constraints here are that it needs to be low latency and it needs to be something I can iterate on quickly, which, well, means C++ still until I learn another systems language.

mcc

@aeva Here's the C++ mini sequencer I've been using, if you want to see how easy this is:

github.com/mcclure/lovr/blob/Z

Songs look like

(P t--3 0 p8x p13x p0x p8x p13x)
(R t--2 0 t--3 p0 x p8 x p13 x)
R P -2 R P +4 R P -2

(Numbers are notes, uppercase letters are function definitions or calls, lowercase numbers are control codes)

413 lines of code (and it was only 70 lines of code in the original version; adding polyphony and hooks for GUI integration made it more complicated)

@aeva Here's the C++ mini sequencer I've been using, if you want to see how easy this is:

github.com/mcclure/lovr/blob/Z

Songs look like

(P t--3 0 p8x p13x p0x p8x p13x)
(R t--2 0 t--3 p0 x p8 x p13 x)
R P -2 R P +4 R P -2

(Numbers are notes, uppercase letters are function definitions or calls, lowercase numbers are control codes)

aeva

If anyone is curious for the context, I'm thinking of upgrading the Compiano Forte. I want to build a more advanced sequencer for the microfreak, and I also want to have a common graphical shell for my midi experiments that can be operated with just midi controls or a game controller.

aeva

For the sequencer, what I'd like to do is to build something that functions similarly to the microfreak's internal sequencer but with more parameters, the possibility for much longer recordings, and some cool options for track changes. Once I'm happy with the patch and the score, I'd like the program to then play the tracks and record them for later mixing. After that I'd change the patch and build additional instrument scores with the same method.

aeva

I'd also like to be able to visualize the contents of the tracks in a particular way.

I think Cinder will probably be sufficient for building the UI and doing the audio recording and mixing. I'll probably write my own MIDI layer, and I'll probably bolt on Lua for implementing the sequencer's high level logic.

aeva

If this ends up being a good way for me to make music I might try to incorporate it into Tangerine, since the general scheme here could be tweaked to make building dynamic soundtracks really easy.

Efi (nap pet) 🦊💤

@aeva it's hard to explain, but @nasser made a livecoding music interface thing that might be similar to what you're making, maybe???
merveilles.town/@nasser/109973

aeva

@efi I'm looking to maybe build something that is controlled by a midi keyboard primarily for recording arranging and playback, because most music software assumes a normal computer as the interface but also because most music software honestly is really intimidating to me and doesn't really fit the way I like to approach making music

Efi (nap pet) 🦊💤

@aeva oooh, ok... well, I don't know shit about music, so let me know if I can help (???)

aeva replied to Efi (nap pet) 🦊💤

@efi I had piano lessons for most of my childhood, gave up on it as a tween, then picked it up again I think about 4 or 5 years ago and self taught myself a bunch of music theory and how to compose music. The way I'm used to writing music is sheet music oriented, which nobody does for electronic music, so the going has been kinda slow

aeva replied to Efi (nap pet) 🦊💤

@efi I think I've used that one, but it didn't really click

aeva replied to aeva

@efi I'm really shooting for something that's more in the ballpark of "mario paint" or a pocket operator in terms of interface complexity

Natalie Cuthbert

@aeva have you considered using JUCE for this purpose?

Natalie Cuthbert

@aeva ah. I see, so it's more a right tool is what you know thing? I suggested it because it's designed for writing audio plugins

Tekknovator

@aeva the part “by midi or game controller” made me think of this little synth/sequencer diy thingy:
Midi:
youtu.be/o6DyXteS-Is
Controller:
youtu.be/jAyZdMGKCbk

Go Up