Coder Social home page Coder Social logo

Comments (4)

NickCulbertson avatar NickCulbertson commented on July 2, 2024

Which value are you wanting to send? If it is x or y you would place that as your data1 or data2 variable.

Evan made a midi out tutorial that might be helpful: https://youtu.be/gb1kcqpELeE

from cookbook.

freekatet avatar freekatet commented on July 2, 2024

Hey Nick thanks for the quick reply!
watching your video I understand but I am slightly confused by how the XYslider from my code works and don't understand how to connect the x y value as data1 data2 (like you mentioned) also this function is working on button click but I am trying to send it when I use the XYslider ( would also have to convert those values as they are floats atm)

thank you for your help!

Button("Send Controller 5 - 127") {
let eventToSend = StMIDIEvent(statusType: MIDIStatusType.controllerChange.rawValue,
channel: 0,
data1: 5,
data2: 127)
if selectedPort1Uid != nil {
conductor.sendEvent(eventToSend: eventToSend, portIDs: [selectedPort1Uid!])
} else {
conductor.sendEvent(eventToSend: eventToSend, portIDs: nil)
}
}

from cookbook.

NickCulbertson avatar NickCulbertson commented on July 2, 2024
// add the variables to your conductor class and access their didSet method. You’ll probably need to resolve some issues with the red stop sign that shows up in Xcode.
extension MIDIPortTestConductor: ObservableObject {
	@Published var x : Float = 0.5  {
        	didSet {
                        //Call MIDI method here
            		let eventToSend = StMIDIEvent(statusType: MIDIStatusType.controllerChange.rawValue,
				channel: 0,
 data1: Int(x*127),
 data2: 127)
                        conductor.sendEvent(eventToSend: eventToSend, portIDs: nil)
        	}
    	}
        @Published var y : Float = 0.5  {
        	didSet {
                        //Call MIDI method here
            		let eventToSend = StMIDIEvent(statusType: MIDIStatusType.controllerChange.rawValue,
				channel: 0,
 data1: Int(y*127), data2: 127)

                        conductor.sendEvent(eventToSend: eventToSend, portIDs: nil)
        	}
    	}
}

// Update the pad to read the variables from the conductor.
XYPad(x: $conductor.x, y: $conductor.y)
                    .backgroundColor(.white.opacity(0.25))
                    .cornerRadius(0)
                    .foregroundColor(.white)
                    .indicatorSize(CGSize(width: 30, height: 30))
                    .squareFrame(proxy.size.height / 5)

from cookbook.

freekatet avatar freekatet commented on July 2, 2024

Thanks Nick!
Great example.
had to move things around a little bit but it works now <3

from cookbook.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.