Previous topicNext topic

More Input: OSC/Joystick/MIDI Clock

Suggestions for new features for Magic.
Post Reply
j4s0n
Posts: 9
Joined: Wed Sep 03, 2014 6:06 am

More Input: OSC/Joystick/MIDI Clock

Post 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.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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
BaconMKII
Posts: 36
Joined: Mon Jun 02, 2014 8:31 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post by BaconMKII »

This would be fun to play with once OSC is added: http://www.duration.cc/
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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?
damstraversaz
Posts: 176
Joined: Tue Aug 26, 2014 11:22 am

Re: More Input: OSC/Joystick/MIDI Clock

Post by damstraversaz »

that's really a great idea !
neoz
Posts: 28
Joined: Mon Feb 16, 2015 2:07 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post by neoz »

Eric,
How's it happening with OSC implementation? Maybe next update? ;)
I broke my brain with osc-midi translating...
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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.
neoz
Posts: 28
Joined: Mon Feb 16, 2015 2:07 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post by neoz »

That's great!
But i still can't find the working one for Windows, any suggestions? :geek:
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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?
D1gits
Posts: 99
Joined: Thu Feb 25, 2016 11:49 am
Location: Stockholm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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 : )
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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.
D1gits
Posts: 99
Joined: Thu Feb 25, 2016 11:49 am
Location: Stockholm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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 : )
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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!
Sadler
Posts: 1139
Joined: Sat Aug 02, 2014 7:10 pm
Location: London, UK

Re: More Input: OSC/Joystick/MIDI Clock

Post 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/
damstraversaz
Posts: 176
Joined: Tue Aug 26, 2014 11:22 am

Re: More Input: OSC/Joystick/MIDI Clock

Post 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
Sadler
Posts: 1139
Joined: Sat Aug 02, 2014 7:10 pm
Location: London, UK

Re: More Input: OSC/Joystick/MIDI Clock

Post 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
artnik
Posts: 268
Joined: Tue Jan 05, 2016 5:33 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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
perzon
Posts: 17
Joined: Tue Sep 15, 2015 7:38 pm

Re: More Input: OSC/Joystick/MIDI Clock

Post 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.
Post Reply