Avatar

Please consider registering
Guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed sp_TopicIcon
MidiClock();
No permission to create posts
May 12, 2017
3:55 pm
Avatar
Skyler
Member
Members
Forum Posts: 47
Member Since:
November 17, 2015
sp_UserOfflineSmall Offline

Hello,

I have seen success implementing a note based delay through evaluating m_HostProcessInfo.dBPM with the equation listed above the Midiclock(); function in the comments.

My question is how to increment a counter within the midiClock function to switch a bool?

In simple terms how do you toggle a switch every quarter note?

-------------------------------------------------------------------------------------------------------------

Running blank on this one guys plus the link in the MidiClock(); function is down also!

Thanks guys!

May 13, 2017
10:31 pm
Avatar
Skyler
Member
Members
Forum Posts: 47
Member Since:
November 17, 2015
sp_UserOfflineSmall Offline

NVM

I just figured out that RackAFX doesn't call that function.  Although the other posts in the forum had stated that I thought 6.8.1 had the update that Will mentioned!

Welp.... see you later!

May 14, 2017
4:14 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOfflineSmall Offline

Do you have the flag m_bWantAllMIDIMessages = true in your derived class constructor? If so, RackAFX will call it if it received this message.

However, I've found that the other APIs don't transmit it directly via a message (probably because it chokes up the message queue with zillions of messages). 

- Will

May 14, 2017
9:26 pm
Avatar
Skyler
Member
Members
Forum Posts: 47
Member Since:
November 17, 2015
sp_UserOfflineSmall Offline

Hey Will, 

This is what I have inside the midiClock, and the Counter variable is declared in the header as an int.

I did not have m_bWantAllMIDIMessages = true.

However after changing the bool and multiple tests inside Ableton and RackAFX. I have not seen success incrementing a variable per midiClock. 

bool __stdcall CFunctionTest::midiClock()
{

++Counter;
m_fCounter = (float) Counter;

return true;
}

Thanks again!

May 15, 2017
10:28 am
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOfflineSmall Offline

The MIDI Clock transmit code is alive in RackAFX. If the function is not called, then it means that no MIDI clock is flowing into RackAFX, which just parrots the MIDI it receives out to your plugin. You might want to monitor the MIDI into RackAFX with a tool like MIDI OX.

If you are using Ableton, then you are using a VST2 plugin (acutally the VST3 plugin with the built-in Steinberg VST3->VST2 wrapper). MIDI clock messages are not transmitted in VST3 (or VST2 with wrapper). As outlined in my Synth book, the only MIDI messages delivered to a VST3 plugin (or VST2 with wrapper) are Note On, Note Off and Polyphonic Pressure events. 

Your RackAFX plugin-as-VST3-plugin will now set a host information data structure you can use. This is documented here:

http://willpirkle.com/Download.....mation.pdf

However, RackAFX only transmits the host information that is common to all APIs - AAX, AU and VST3. However, each one has some extra information that you can trap, but you need to use the Make XXX function in RackAFX to generate a project that you can compile and alter to pick up the other information. For VST3, this is found in the ivstprocesscontext.h file, in the:

struct ProcessContext

You can get information about timing via SMPTE and absolute sample position. There is also a member variable:

int32 samplesToNextClock; ///< MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest)

that is transmitted. 

You will need the VST3 SDK and Make VST to create a project that you can access this information with -- see the: 

Processor::process(ProcessData& data)

function; the ProcessContext struct is a member of ProcessData.

- Will 

May 18, 2017
12:58 pm
Avatar
Skyler
Member
Members
Forum Posts: 47
Member Since:
November 17, 2015
sp_UserOfflineSmall Offline

Hey Will!

Thanks for the info, I have been investigating the information you steered me towards, and the forum community for the solution.  I even downloaded MIDI OX.

I tried all different types of ideas and came to the conclusion that I have to learn the checkGuiUpdate function better.  This is why a lot of my tests were coming back "negative" but when I tested through the manipulating of audio I saw success!

I appreciate your time!

Forum Timezone: America/New_York

Most Users Ever Online: 36

Currently Online:
6 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Skyler: 47

Peter: 41

Derek: 41

clau_ste: 39

Frodson: 38

Gwen: 32

EZB: 24

lppier: 23

Msaldaña: 18

Jorge: 17

Member Stats:

Guest Posters: 1

Members: 476

Moderators: 1

Admins: 4

Forum Stats:

Groups: 11

Forums: 30

Topics: 482

Posts: 1876

Newest Members:

sam, annaharris, Marie Weaver, kev, Steven, Mr Anderson, mguy, omelc

Moderators: W Pirkle: 143

Administrators: Tom: 65, JD Young: 80, Will Pirkle: 0, W Pirkle: 143