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
diffrences of processAudio() methods
No permission to create posts
July 19, 2015
11:27 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

Hi Jorge

First, your screenshot is normal. It is telling you that a bunch of the DLLs that RackAFX uses do not have a program database file (PDB) -- this is because the DLLs are release-version and the manufacturer did not include the PDB files. This is not a problem because you do not care about stepping into those DLLs.

Secondly, have you tried doing a basic Constructor-debug to watch your constructor get called as the plugin is loaded? On the Video page, you will find this tutorial:

http://www.willpirkle.com/supp.....ials/#DBG1

It involves fixing a "broken" constructor that has a toxic pointer (a common mistake that people often make). But, the steps to launch and set the debug breakpoints are the same. Once you can get the constructor to hit this breakpoint, then you can break inside any future function that gets called.

- Will

PS: also note that the process() functions will not be called until audio is streaming (hit the play button)

July 21, 2015
9:50 pm
Avatar
Jorge
Member
Members
Forum Posts: 17
Member Since:
April 15, 2015
sp_UserOfflineSmall Offline

Hi Will

Yes, I know about process only called when audio streams, were using debugging last implementation -when I wrote code in ProcessAudioFrame- and checking variable values and other stuff with success, the issue started when I tried to use buffers.

EDIT: Finally I was able to debug constructor, and finally got something: when execution gets into createObject() at RackAFXDLL.cpp I get this error message: rafxplugincontainer.cpp not found. Then if I press F10 the execution continues but there's no call to any process method.

I hope it will help us to know where's the issue.

Thanks!

Jorge

July 22, 2015
10:49 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

Hi Jorge

I am not having issues like this. Here is what I did, using the latest version of RackAFX v6.5.16

1) created new project named PassThru

2) compiled it - no errors

3) started the debugger in Visual Studio and set a breakpoint in the Constructor

4) loaded the DLL in RackAFX - the breakpoint was hit in the constructor, and there were no errors.

If you can compile and load a plug-in into RackAFX (without the debugger) then you should not have an issue with debugging. The error message you got is from a .cpp file that is located inside the rackAFX-to-vst library called Sock2VST3d.lib and Sock2VST3.lib -- you can find the link to them in the VS project settings (Linker, Input). And, it is true that you can't step into those libraries. But you should not need to.

Which version of VS are you using? The reason I'm asking is that I am about to do a major release of a new version of RackAFX and if there are any compiler-specific issues, I need to catch them.

- Will

July 24, 2015
10:39 pm
Avatar
Jorge
Member
Members
Forum Posts: 17
Member Since:
April 15, 2015
sp_UserOfflineSmall Offline

Hi Will

Sorry for the delay in my answer, I've been a bit busy. I don't know either what is the issue, so I'll try again to make a fresh new project and do all the stuff step by step and let you know the result. Maybe reinstalling RackAFX would be a nice idea too.

I'm using VS 2013, but I don't think it's because of the IDE, I was working with the same version when tried to implement my code into processAudioFrame() and I was able to debug and enter that method. In fact, breakpoint located in the constructor was actually hit -I mean, this last test I've been doing-, but when constructor finishes execution there's no call for buffer method.

Thanks

Jorge

July 25, 2015
2:38 pm
Avatar
Jorge
Member
Members
Forum Posts: 17
Member Since:
April 15, 2015
sp_UserOfflineSmall Offline

Hi again Will

I've started a new fresh project with pass thru code -I mean, no code actually-, put a breakpoint in the processRackAFXbuffer and debug. That way the execution HITS the method, as it has to be. So I'm going to link my libraries and write the code step by step to know exactly what is the source of the disfunctionality, and I let you know.

http://s14.postimg.org/l9au1zjo1/Captura.pngImage Enlarger

Thanks a lot for your help

Jorge

July 27, 2015
7:45 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

Hi Jorge

I have been using processRackAFXBuffer for the last week or so with no problems.

Are you setting

m_bWantBuffers = true;

in your plugin constructor?

In your pass through example, one of the process() methods must be getting called, I am guessing processAudioFrame().

Will

July 27, 2015
11:09 pm
Avatar
Jorge
Member
Members
Forum Posts: 17
Member Since:
April 15, 2015
sp_UserOfflineSmall Offline

Hi Will

Finally I made a new fresh project and went step by step. Everything was fine this time and now I can debug my code. At the moment I'm having some errors with memory allocation because of the buffer sizes or something -I'm on it- and I can't tell you if the plugin works, but the buffer issue is solved and everything is working fine in RackAFX side.

Thanks a lot for your help, I'll let you know the results when I finish =)

July 29, 2015
2:18 am
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

Hi Jorge

One thing to remember - never dynamically allocate or destroy memory on the audio processing thread (i.e. in any of the process() methods). This is a huge rule. So, do not ever use new/delete or malloc/calloc/free in any of the process() functions. Just FYI...

- Will

August 10, 2015
8:07 pm
Avatar
Jorge
Member
Members
Forum Posts: 17
Member Since:
April 15, 2015
sp_UserOfflineSmall Offline

Hi Will

Yeah, I'm aware of that, tried to allocate in my first sessions and the program crashed, so I learned the hard way.

By the way... Did you know what were the problem? Dumbest thing, as usual when programming. When I rebuild from RackAFX the program asks me for reloading modified files. I used to say 'yes' and realized that sometimes - I don't know why it doesn't happen all the time, but sure there's a logical answer- the m_bWantBuffers in plugin.cpp turned to FALSE. So it was driving me crazy, as I changed the flag to true, but reloading set it to false...

So right now I'm debuggin the code -lot of misfunctioning algorithms- and I hope it will be finished in about 7-10 days if everything goes well. I'll let you know.

Thanks
Best regards,

Jorge

August 11, 2015
6:56 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

EDIT: OK, this is not a bug, Jorge. I read your post too quickly.

The problem is that you set m_bWantBuffers = true in the CPlugIn constructor, in plugin.cpp.

You need to set this flag (as well as the VST buffer version and m_bWantAllMIDI, etc...) in your derived class's constructor.

There are four files you should never modify as they are periodically updated/upgraded as new features are added to RackAFX. The four files are:

plugin.h
plugin.cpp
pluginconstants.h
pluginobjects.cpp

This rule is actually documented (somewhere) in my FX book.

So that is why you were seeing that variable reset - it was copying a fresh .cpp file over your modified one.

= Will

Ah ha - Jorge thanks for that bug report - this does make sense though, where synchronizing the code resets that flag.

I will check on this now and try to get a fix into the next version.

Will

No permission to create posts
Forum Timezone: America/New_York

Most Users Ever Online: 36

Currently Online: W Pirkle
3 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: 477

Moderators: 1

Admins: 4

Forum Stats:

Groups: 11

Forums: 30

Topics: 483

Posts: 1877

Newest Members:

Jaggxn, 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