Page 1 of 1

More Input: OSC/Joystick/MIDI Clock

Posted: Wed Sep 03, 2014 8:04 am
by j4s0n
Know what I'm sayin!?

OSC input for controlling things with other software/controllers (non-midi).
PS3/Xbox controller mapped to parameters. ;)
MIDI Clock and a way to sync the parameter envelopes to a tempo or number of beats.
As is this can be done using PureData to translate whatever input into MIDI then using a virtual MIDI port to get it into Magic.

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Wed Sep 03, 2014 4:36 pm
by Magic
Yep, thanks. Those things are definitely on our to-do list, especially OSC.

In the meantime, there are lots of good utilities that turn every conceivable type of input into MIDI. See this post for an example of PlayStation Dual-Shock input: http://magicmusicvisuals.com/forums/vie ... ?f=5&t=113

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Fri Oct 10, 2014 7:20 pm
by BaconMKII
This would be fun to play with once OSC is added: http://www.duration.cc/

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Fri Oct 10, 2014 7:40 pm
by Magic
Ahh, that's a good find! Thanks.

I was actually already thinking that maybe someday I'll add a timeline-based curve editor to Magic itself. That way, not only could you use it for live stuff, but for exporting movies as well. What do you think?

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Sun Oct 12, 2014 10:48 am
by damstraversaz
that's really a great idea !

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Fri Apr 10, 2015 12:05 pm
by neoz
Eric,
How's it happening with OSC implementation? Maybe next update? ;)
I broke my brain with osc-midi translating...

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Sat Apr 11, 2015 10:18 pm
by Magic
It's coming :). I can't promise exactly when though. It just hasn't been as high of a priority because of all the third-party utilities that can convert OSC to MIDI.

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Wed Apr 15, 2015 1:40 pm
by neoz
That's great!
But i still can't find the working one for Windows, any suggestions? :geek:

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Thu Apr 16, 2015 3:48 pm
by Magic
I haven't looked in a while, but doing a Google search for "osc to midi" seems to come up with a lot of results. None of them seem to be working?

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Wed Mar 02, 2016 9:01 am
by D1gits
Any news on implementing OSC?

It would really make a great add-on for my workflow. Its so great to be able to have a master show computer trigging the video via a cat5 cable and OSC. It has never failed me, meanwhile MIDI has for a few times. In the end you could make the whole program mappable, so that you could trig a bypass of a specific module for a while, or change the X & Y position, or color of an object with Vezér for example via OSC (witch has a much greater resolution than MIDI). I guess thats far away, but for me OSC is a killer feature : )

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Wed Mar 02, 2016 6:03 pm
by Magic
I haven't been able to get to it yet unfortunately :). But you should be able to use MIDI to map all the things you mentioned... and if you need a high-resolution option, you can use the MIDI Pitch Bend command, which has 14 bits of resolution, so there are 16384 possible values as opposed to other MIDI commands which only go from 0 to 127.

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Tue Mar 08, 2016 9:04 am
by D1gits
Thanks Eric!

I will check out the MIDI pitch bend solution for now. But I'd love to get the OSC feature up and running...
Have you got any idea how far away this is on you roadmap?


All the best for now, and thanks for a intuitive program, its really easy to get started with I must say as a noob : )

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Wed Mar 09, 2016 2:20 am
by Magic
Have you got any idea how far away this is on you roadmap?
Unfortunately I really can't provide any kind of timeline. Things change too much :)

EDIT: OSC has been added to Magic v2.1. Yay!

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Sun Mar 10, 2019 10:47 pm
by Sadler
PS3/Xbox controller mapped to parameters. ;)
GlovePie is quite old and requires a but of configuration but once it's done, it's done.

GlovePie will allow you to convert many control devices into MIDI or OSC including:

Nintendo Wii Remote (Wiimote)
Sony Dual Shock 3 (except for Gyro) or Sony SIXAXIS
NaturalPoint (Or eDimensional) TrackIR, OptiTrack, SmartNav
FakeSpace Pinch Gloves (9600 baud by default, but can be changed)
Concept 2 PM3 rowing machines (ergo or erg)
All joysticks or gamepads recognised by Windows
Parallel port gamepads (with PPJoy)
All keyboards
Mice with up to 5 buttons and 2 scroll wheels
Most microphones (don't have to be high quality)
Most MIDI input or output devices
Essential Reality P5 Glove
5DT Data Glove (all versions)
eMagin Z800 3D Visor HMD
Polhemus trackers (must be set to 115200 baud): IsoTrak II, FasTrak, Liberty, Patriot, Liberty Latus
Ascension trackers: Flock of Birds, MotionStar, etc.
Intersense trackers: InterTrax, InertiaCube, IS-300, IS-600, IS-900, IS-1200, etc.
WorldViz PPT trackers (all versions)
GameTrak (only as a joystick, no direct support)

https://sites.google.com/site/carlkenner/glovepie

Download: https://glovepie.en.softonic.com/

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Mon Mar 11, 2019 9:11 am
by damstraversaz
Sensomusic Usine is a great solution, with joystick , wii, camera, OSc and midi support, and HID support so you can use anything as a midi or osc controller.
you can too tweak a lot data directly in usine before sending it to Magic, and use your own script if you are a programmer, and have different setup as there is a conductor
I'm using usine since the beginning (15 years ago).

http://www.sensomusic.org/

https://www.sensomusic.org/manual/fr/us ... hid-device

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Tue Mar 12, 2019 8:24 am
by Sadler
Just for kicks I dug out my xbox controller to move a poly around the screen. It was quick and easy to set up but, in my opinion, the control available, while organic, was not usable for my style of visuals. The controller is intended for games and not linear, and therefore gets to the edges too quickly. No doubt this could be massaged with proportional scaling and smoothing (which I tried) and a gamer might exhibit more control but I imagine this would be different for every controller and every person. Not saying its a dud, just that I wouldn't use it (currently).

Win10, Avis Rejoice, LoopBe

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Tue Mar 12, 2019 3:07 pm
by artnik
This is kind of exciting Sadler, thanks for checking it out. Seems simple enough to set up.

As a gamer, control can be very precise. As an interesting side note, I'm not sure if you ever had an XBOX 360, but the built-in music visualizer NEON was setup so 4 people could control all aspects of the visuals. It was amazing!

NEON was programmed by the legend Jeff Minter. It's seriously worth checking out if you ever get the chance. http://www.minotaurproject.co.uk/x360manual.php

Re: More Input: OSC/Joystick/MIDI Clock

Posted: Wed Mar 13, 2019 11:40 am
by perzon
I will speak from experience here when I say I am very happy using my Xbox 360 Joypad with Magic Music as my only midi control surface using GlovePIE and LoopMIDI.
There is no possible way that 'native' support for Xinput would make mapping my joypad any easier, i think it would actually be the opposite!
Here is an example snippet of code that i use for just the START button on the pad. (please excuse my sloppy coding)

Code: Select all

if XInput.Start = 1 and XInput.Back = 0 {
   if Pressed(XInput.A) {
   var.SA = not var.SA
   midi4.channel1.b1 = var.SA
   }
   if HeldDown(XInput.A, .3) {
   var.SA2 = not var.SA2
   midi4.channel1.d7 = var.SA2
   wait 1.2
   }
   if Pressed(XInput.B) {
   var.SB = not var.SB
   midi4.channel1.gsharp1 = var.SB
   }
   if HeldDown(XInput.B, .3) {
   var.SB2 = not var.SB2
   midi4.channel1.dsharp7 = var.SB2
   wait 1.2
   }
   if Pressed(XInput.X) {
   var.SX = not var.SX
   midi4.channel1.c2 = var.SX
   }
   if HeldDown(XInput.X, .3) {
   var.SX2 = not var.SX2
   midi4.channel1.dsharp8 = var.SX2
   wait 1.2
   }                                            
   if Pressed(XInput.Y) {
   var.SY = not var.SY
   midi4.channel1.a1 = var.SY
   }
   if HeldDown(XInput.Y, .3) {
   var.SY2 = not var.SY2
   midi4.channel1.d8 = var.SY2
   wait 1.2
   }
   if Pressed(XInput.LeftShoulder) {
   var.SLS = var.SLS + 1
   if var.SLS = 10 {
   var.SLS = 0
        }
   midi4.channel1.Control37 = (var.SLS-1)/127
   }
   if Pressed(XInput.RightShoulder) {
   var.SLRS5 = var.SLRS5 + 1
   if var.SLRS5 = 11 {
   var.SLRS5 = 0
       }
   midi4.channel1.Control35 = (var.SLRS5-1)/127
   }
   if Pressed(XInput.Up) and var.UpLLRS < 26 {
   var.UpLLRS = var.UpLLRS + 1
  if var.UpLLRS = 26 {
   var.UpLLRS = 0
   }
   midi4.channel1.Control33 = (var.UpLLRS)/127
}
   if Pressed(XInput.Down) and var.UpLLRS > -1 {
   var.UpLLRS = var.UpLLRS - 1
   if var.UpLLRS = -1 {
   var.UpLLRS = 25           }
   midi4.channel1.Control33 = (var.UpLLRS)/127
}
midi4.channel1.Control46 = (XInput1.Joy1X+1)/2
midi4.channel1.Control47 = (XInput.Joy1Y+1)/2
}
I like to be able to have many MANY midi controls mapped in to my joypad and multiple ways to use them.
I then use the expressions in magic music to apply things like deadzones, dual functions on triggers and what ever else i need.