Thread overview
Should I write an OSC library for D, or is it a sunken ship?
Jul 24, 2016
solidstate1991
Jul 24, 2016
lqjglkqjsg
Jul 24, 2016
Jonathan Marler
Jul 24, 2016
lqjglkqjsg
Jul 24, 2016
Jonathan Marler
Jul 24, 2016
lqjglkqjsg
Jul 24, 2016
Jonathan Marler
Jul 24, 2016
Gorge Jingale
Jul 24, 2016
lqjglkqjsg
July 24, 2016
After I started to get into a near usable state with my game engine, which originally called as VDP-engine, now it's renamed to Pixel Perfect ( https://github.com/ZILtoid1991/VDP-engine ), I was thinking on creating some software synths, but I find the conventional midi lacking in feature. After some research on the web, I found Open Sound Control as a perfect candidate, however it's not only lacks a standard namespace, but also barely supported.

On the other hand, I want to code something else besides my engine (although I think I'll publish the Extendible Bitmap (a bitmap file format capable of storing multiple images and animations in a single file) as a separate library), etc. I even thinking about creating an OSC file, similar to midi files with its own editor. Or should I write a framework instead with nice retro aesthetics? I already wrote one for my engine, so I can have a nice windowing framework for the engine's editor, although it lacks functionality and uses the CPU for drawing.
July 24, 2016
On Sunday, 24 July 2016 at 15:33:24 UTC, solidstate1991 wrote:
> After I started to get into a near usable state with my game engine, which originally called as VDP-engine, now it's renamed to Pixel Perfect ( https://github.com/ZILtoid1991/VDP-engine ), I was thinking on creating some software synths, but I find the conventional midi lacking in feature. After some research on the web, I found Open Sound Control as a perfect candidate, however it's not only lacks a standard namespace, but also barely supported.
>
> On the other hand, I want to code something else besides my engine (although I think I'll publish the Extendible Bitmap (a bitmap file format capable of storing multiple images and animations in a single file) as a separate library), etc. I even thinking about creating an OSC file, similar to midi files with its own editor. Or should I write a framework instead with nice retro aesthetics? I already wrote one for my engine, so I can have a nice windowing framework for the engine's editor, although it lacks functionality and uses the CPU for drawing.

The problem is that OSC is not used at all. People still use MIDI. e.g all the master keyboards, drum pads, control surfaces, etc. communicates in MIDI (unless this has changed since I left in 2012).
July 24, 2016
On Sunday, 24 July 2016 at 15:48:22 UTC, lqjglkqjsg wrote:
> On Sunday, 24 July 2016 at 15:33:24 UTC, solidstate1991 wrote:
>> After I started to get into a near usable state with my game engine, which originally called as VDP-engine, now it's renamed to Pixel Perfect ( https://github.com/ZILtoid1991/VDP-engine ), I was thinking on creating some software synths, but I find the conventional midi lacking in feature. After some research on the web, I found Open Sound Control as a perfect candidate, however it's not only lacks a standard namespace, but also barely supported.
>>
>> On the other hand, I want to code something else besides my engine (although I think I'll publish the Extendible Bitmap (a bitmap file format capable of storing multiple images and animations in a single file) as a separate library), etc. I even thinking about creating an OSC file, similar to midi files with its own editor. Or should I write a framework instead with nice retro aesthetics? I already wrote one for my engine, so I can have a nice windowing framework for the engine's editor, although it lacks functionality and uses the CPU for drawing.
>
> The problem is that OSC is not used at all. People still use MIDI. e.g all the master keyboards, drum pads, control surfaces, etc. communicates in MIDI (unless this has changed since I left in 2012).

Well the X32 mixer uses OSC.  I actually started writing a little program that would use MULTICAST to send all the live mixer data to the network connected devices instead of resending it to each device individually.  Never finished it, but there's one application for it.

https://github.com/marler8997/castosc

But OSC is definitely the second fiddle to MIDI :)
July 24, 2016
On Sunday, 24 July 2016 at 16:01:39 UTC, Jonathan Marler wrote:
> On Sunday, 24 July 2016 at 15:48:22 UTC, lqjglkqjsg wrote:
>> On Sunday, 24 July 2016 at 15:33:24 UTC, solidstate1991 wrote:
>>> After I started to get into a near usable state with my game engine, which originally called as VDP-engine, now it's renamed to Pixel Perfect ( https://github.com/ZILtoid1991/VDP-engine ), I was thinking on creating some software synths, but I find the conventional midi lacking in feature. After some research on the web, I found Open Sound Control as a perfect candidate, however it's not only lacks a standard namespace, but also barely supported.
>>>
>>> On the other hand, I want to code something else besides my engine (although I think I'll publish the Extendible Bitmap (a bitmap file format capable of storing multiple images and animations in a single file) as a separate library), etc. I even thinking about creating an OSC file, similar to midi files with its own editor. Or should I write a framework instead with nice retro aesthetics? I already wrote one for my engine, so I can have a nice windowing framework for the engine's editor, although it lacks functionality and uses the CPU for drawing.
>>
>> The problem is that OSC is not used at all. People still use MIDI. e.g all the master keyboards, drum pads, control surfaces, etc. communicates in MIDI (unless this has changed since I left in 2012).
>
> Well the X32 mixer uses OSC.  I actually started writing a little program that would use MULTICAST to send all the live mixer data to the network connected devices instead of resending it to each device individually.  Never finished it, but there's one application for it.
>
> https://github.com/marler8997/castosc
>
> But OSC is definitely the second fiddle to MIDI :)

And inside software ? The only one I remember for implementing OSC was Reaktor. actually even the hosts didn't implement it. MIDI can't die because people still use their old gears (and will still...). I was myself using a Sy77 as master keyboard (so mid 90, no OSC), a Roland machine drum as sequencer and MIDI pads (so mid 80, no OSC)...etc, I can say that so few people were using it that i can even remember forum posts where people talked about that, even almost a decade after, for example the guy who used OSC in reaktor to send a character police to an event table that was used to draw advanced text...mostly some experimental bullshits.

That said MIDI has obvious/well known problems. For example for certain parameters two CC must be used to get more accuracy. When you think that softsynth parameters are usually stored in a 32 bit float (vs 1 byte for MIDI !).
July 24, 2016
On Sunday, 24 July 2016 at 17:02:08 UTC, lqjglkqjsg wrote:
> On Sunday, 24 July 2016 at 16:01:39 UTC, Jonathan Marler wrote:
>> [...]
>
> And inside software ? The only one I remember for implementing OSC was Reaktor. actually even the hosts didn't implement it. MIDI can't die because people still use their old gears (and will still...). I was myself using a Sy77 as master keyboard (so mid 90, no OSC), a Roland machine drum as sequencer and MIDI pads (so mid 80, no OSC)...etc, I can say that so few people were using it that i can even remember forum posts where people talked about that, even almost a decade after, for example the guy who used OSC in reaktor to send a character police to an event table that was used to draw advanced text...mostly some experimental bullshits.
>
> [...]

This type of discussion sounds familiar, except MIDI=C++ and OSC=D :)
July 24, 2016
On Sunday, 24 July 2016 at 17:08:27 UTC, Jonathan Marler wrote:
> On Sunday, 24 July 2016 at 17:02:08 UTC, lqjglkqjsg wrote:
>> On Sunday, 24 July 2016 at 16:01:39 UTC, Jonathan Marler wrote:
>>> [...]
>>
>> [...]
>
> This type of discussion sounds familiar, except MIDI=C++ and OSC=D :)

MIDI=C++ and OSC=F# :)

D is used a bit after all.
July 24, 2016
On Sunday, 24 July 2016 at 17:29:02 UTC, lqjglkqjsg wrote:
> On Sunday, 24 July 2016 at 17:08:27 UTC, Jonathan Marler wrote:
>> On Sunday, 24 July 2016 at 17:02:08 UTC, lqjglkqjsg wrote:
>>> On Sunday, 24 July 2016 at 16:01:39 UTC, Jonathan Marler wrote:
>>>> [...]
>>>
>>> [...]
>>
>> This type of discussion sounds familiar, except MIDI=C++ and OSC=D :)
>
> MIDI=C++ and OSC=F# :)
>
> D is used a bit after all.

Lol, touche...
July 24, 2016
On Sunday, 24 July 2016 at 16:01:39 UTC, Jonathan Marler wrote:
> On Sunday, 24 July 2016 at 15:48:22 UTC, lqjglkqjsg wrote:
>> On Sunday, 24 July 2016 at 15:33:24 UTC, solidstate1991 wrote:
>>> [...]
>>
>> The problem is that OSC is not used at all. People still use MIDI. e.g all the master keyboards, drum pads, control surfaces, etc. communicates in MIDI (unless this has changed since I left in 2012).
>
> Well the X32 mixer uses OSC.  I actually started writing a little program that would use MULTICAST to send all the live mixer data to the network connected devices instead of resending it to each device individually.  Never finished it, but there's one application for it.
>
> https://github.com/marler8997/castosc
>
> But OSC is definitely the second fiddle to MIDI :)

Reaper uses OSC, TouchOSC uses OSC, and many other things people are not aware of ;)

So, yes, go and write an OSC Lib, it can't hurt, If you build it they will come!

I will have to write a touch OSC at some point.
July 24, 2016
On Sunday, 24 July 2016 at 19:02:32 UTC, Gorge Jingale wrote:
> On Sunday, 24 July 2016 at 16:01:39 UTC, Jonathan Marler wrote:
>> On Sunday, 24 July 2016 at 15:48:22 UTC, lqjglkqjsg wrote:
>>> [...]
>>
>> Well the X32 mixer uses OSC.  I actually started writing a little program that would use MULTICAST to send all the live mixer data to the network connected devices instead of resending it to each device individually.  Never finished it, but there's one application for it.
>>
>> https://github.com/marler8997/castosc
>>
>> But OSC is definitely the second fiddle to MIDI :)
>
> Reaper uses OSC, TouchOSC uses OSC, and many other things people are not aware of ;)
>
> So, yes, go and write an OSC Lib, it can't hurt, If you build it they will come!
>
> I will have to write a touch OSC at some point.

Now that you start enumerationg OSC clients I also remember that Bidule had an OSC module too, iirc. The question is, is it widely used ;)