Post

Replies

Boosts

Views

Activity

Reply to Strange MIDIPacket Sizes
Do you know what the status bytes are for the first message in the incredibly long packets. These could be SystemExclusive messages which can be generated by the system automatically. Perhaps they are status dumps. The critical factor is the first twenty or so bytes in the packet.
Topic: Programming Languages SubTopic: Swift Tags:
Aug ’22
Reply to MIDIEventListAdd example needed
"noteSee https://bradleyross.github.io/ObjectiveC-Examples/Documentation/BRossTools/FunctionalArea.html A major problem is that MIDISend is not for working with EventList items. You have to use MIDISendEventList. There are actually 3 different APIs listed under CoreMidi in the documentation. The first set does not use blocks for processing the MIDI messages. However, this results in a lot of timing problems. The second set uses blocks for processing the messages. The third set uses Universal MIDI Packets to handle both MIDI 1 and MIDI 2. The page above is my attempt to split the items into groups. One thing is that the individual words in UMP apparently, according to one of the books, have the bytes in the words in native-endian order. It appears that the order of the bits is scrambled and it may be scrambled differently on different system.
Topic: Media Technologies SubTopic: General Tags:
Aug ’22
Reply to MIDI receive callback context
A number of the CoreMIDI functions have been modified to use blocks. The block is then run under the high priority queue used for running the virtual devices. Notification of changes to the MIDI configuration has also been replaced by a block. See https://bradleyross.github.io/ObjectiveC-Examples/Documentation/BRossTools/FunctionalArea.html
Topic: Media Technologies SubTopic: General Tags:
Aug ’22
Reply to Getting MIDI Data from Casio CT-S1 Keyboard
Try my project in the BRossTools folder of the https://github.com/bradleyross/ObjectiveC-Examples GitHub Repository to see if you can get to the keyboard using MacOS. Documentation in https://bradleyross.github.io/ObjectiveC-Examples. I would be delighted to talk with you. I am finding the documentation extremely difficult to use.
Topic: Programming Languages SubTopic: Swift Tags:
Aug ’22
Reply to Access MIDI from an Audio Server driver plug-in
See https://bradleyross.github.io/ObjectiveC-Examples/Documentation/BRossTools/FunctionalArea.html. It looks like MIDIClientCreate doesn't work right and you have to use MIDIClientCreateWithBlock and my project is in https://github.com/bradleyross/ObjectiveC-Examples in the BRossTools. I would love to talk to people on how to get this working to do more. It appears that some functions have to run in a high-priority thread and others can't run in a high-priority thread.
Topic: Media Technologies SubTopic: General Tags:
Aug ’22
Reply to More information about gs_instruments.dls?
My understanding is that this is a general MIDI artifact. Note 60 is Middle C -- https://www.reddit.com/r/musictheory/comments/8fwoti/why_does_middle_c_midi_note_60/ A list of instruments for the General MIDI set is at https://soundprogramming.net/file-formats/general-midi-instrument-list/ If you still have questions, could you send me a list of other questions. I have some materials, an can probably give you some more sources.
Topic: Media Technologies SubTopic: Audio Tags:
May ’21
Reply to Strange MIDIPacket Sizes
Do you know what the status bytes are for the first message in the incredibly long packets. These could be SystemExclusive messages which can be generated by the system automatically. Perhaps they are status dumps. The critical factor is the first twenty or so bytes in the packet.
Topic: Programming Languages SubTopic: Swift Tags:
Replies
Boosts
Views
Activity
Aug ’22
Reply to MIDIEventListAdd example needed
"noteSee https://bradleyross.github.io/ObjectiveC-Examples/Documentation/BRossTools/FunctionalArea.html A major problem is that MIDISend is not for working with EventList items. You have to use MIDISendEventList. There are actually 3 different APIs listed under CoreMidi in the documentation. The first set does not use blocks for processing the MIDI messages. However, this results in a lot of timing problems. The second set uses blocks for processing the messages. The third set uses Universal MIDI Packets to handle both MIDI 1 and MIDI 2. The page above is my attempt to split the items into groups. One thing is that the individual words in UMP apparently, according to one of the books, have the bytes in the words in native-endian order. It appears that the order of the bits is scrambled and it may be scrambled differently on different system.
Topic: Media Technologies SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’22
Reply to MIDI receive callback context
A number of the CoreMIDI functions have been modified to use blocks. The block is then run under the high priority queue used for running the virtual devices. Notification of changes to the MIDI configuration has also been replaced by a block. See https://bradleyross.github.io/ObjectiveC-Examples/Documentation/BRossTools/FunctionalArea.html
Topic: Media Technologies SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’22
Reply to Getting MIDI Data from Casio CT-S1 Keyboard
Try my project in the BRossTools folder of the https://github.com/bradleyross/ObjectiveC-Examples GitHub Repository to see if you can get to the keyboard using MacOS. Documentation in https://bradleyross.github.io/ObjectiveC-Examples. I would be delighted to talk with you. I am finding the documentation extremely difficult to use.
Topic: Programming Languages SubTopic: Swift Tags:
Replies
Boosts
Views
Activity
Aug ’22
Reply to Access MIDI from an Audio Server driver plug-in
See https://bradleyross.github.io/ObjectiveC-Examples/Documentation/BRossTools/FunctionalArea.html. It looks like MIDIClientCreate doesn't work right and you have to use MIDIClientCreateWithBlock and my project is in https://github.com/bradleyross/ObjectiveC-Examples in the BRossTools. I would love to talk to people on how to get this working to do more. It appears that some functions have to run in a high-priority thread and others can't run in a high-priority thread.
Topic: Media Technologies SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’22
Reply to Deprecated functions in CoreMIDI framework - Swift
I believe that you have to ignore the "deprecated" annotations and use the information in https://bradleyross.github.io/ObjectiveC-Examples/Documentation/BRossTools/FunctionalArea.html. The project is in the BRossTools folder in the BradleyRoss/ObjectiveC-Examples GitHubrepository.
Topic: Programming Languages SubTopic: Swift Tags:
Replies
Boosts
Views
Activity
Aug ’22
Reply to Why is MIDIInputPortCreate deprecated? What's the new alternative?
I found the problem. One of the subroutines was indirectly calling one of the UI methods. I placed code in place to insure that it would run on the main Modified code to insure execution on main thread
Topic: Programming Languages SubTopic: Swift Tags:
Replies
Boosts
Views
Activity
Jun ’21
Reply to More information about gs_instruments.dls?
My understanding is that this is a general MIDI artifact. Note 60 is Middle C -- https://www.reddit.com/r/musictheory/comments/8fwoti/why_does_middle_c_midi_note_60/ A list of instruments for the General MIDI set is at https://soundprogramming.net/file-formats/general-midi-instrument-list/ If you still have questions, could you send me a list of other questions. I have some materials, an can probably give you some more sources.
Topic: Media Technologies SubTopic: Audio Tags:
Replies
Boosts
Views
Activity
May ’21