BlueARP VST Arpeggiator development - let's discuss! (Apple M1 ready, 4K)

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS
BlueARP

Post

graywolf2004 wrote:I don't write any header information, just a raw parameter array.
And that is the problem.

The files need to contain the Unique VST-ID and the preset name as well.

graywolf2004 wrote:Can you point me at this header format descriprion?
I can show you the difference.

(Click to enlarge.)

Image

But as for details about the format and how to properly implement it im afraid you will have to ask someone who knows more about this stuff than i do. Hermann Seib, the author of VSTHost and SAVIHost springs to mind. He is registered here under 'Arakula' and knows this stuff very well. He is a very nice guy too, so maybe just shoot him a PM. He is usually glad to help out.


EDIT: Sorry about the annoying advertisement on PixHost. Thats new, that crap didnt use to be there until now. If they keep that i will look for a different picture hoster.

Post

See vstfxstore.h in SDK headers for the format fxp/fxb formats. Basically you fill the relevant struct, byteswap (the format is big endian) and dump it to the file along with the chunk data.

Post

Update: BlueARP v1.09 beta
http://www.graywolf2004.net/files/BlueARP_v1.09.zip

Changes:
- Fixed FXP no header issue (tested in savihost)
- Fixed FXB no header issue (tested in savihost)
- Current program (index) is saved with a bank
- Minor bug: program name change from host now works
That's all I did today. mystran, thx for pointing me at this.

I tested fxp/fxb only in savihost. ENV1 please test it again in both hosts.
All saved projects with previous ver should pick up fine, chunk format didn't change.
sinkmusic I checked Step Machine, and in main things it works the same. Glide just overlaps the notes, the way BlueARP does with 'rst' steps. Porta time sends appropriate MIDI CC, which is a good idea. What do you mean saying 'bypass a row'?

The issue I have now - PPQ position in FL studio doesn't actually give a position within a song. So if I set song position to some arbitrary point and hit play, bluearp is not in sync with the beat (is starts from 0). Step machine has the same bug. But is's strange. I don't beleive there's no way to obtain current PPQ position within a song...

Post

graywolf2004 wrote:Update: BlueARP v1.09 beta
http://www.graywolf2004.net/files/BlueARP_v1.09.zip
Thank you for the update.
graywolf2004 wrote:sinkmusic I checked Step Machine, and in main things it works the same. Glide just overlaps the notes, the way BlueARP does with 'rst' steps. Porta time sends appropriate MIDI CC, which is a good idea.
Yes, the name "rst" was not much explicit to me, but using it, i ended up figuring it out ;)
Step Machine is an old favourite to me. I tis a bit buggy and unstable, but perfect for creating quick and dirty basslines "à la 303" (i also like its colorscheme - hint hint :) -)
I think BlueArp will be a good replacement for Step Machine ;)
graywolf2004 wrote:What do you mean saying 'bypass a row'?
I mean that it would be great to bypass the velocity lane or the octave lane for instance.
You make a pattern, with everything set up (notes, velocity, glide, octave, etc), but you would be able to make it start "softly" (with not everything enabled yet), and then you could enable each lane one by one (it would be already "written", or set up, but bypassed).
I don't know if it makes sense ?

Also, i really like the randomize feature in Step Machine.

Post

graywolf2004 wrote:ENV1 please test it again in both hosts.
All saved projects with previous ver should pick up fine, chunk format didn't change.
Done.

Result: Getting closer, but not quite there yet.


BlueARP Preset Manager
Loading of headered presets/banks: OK

Loading of headerless presets/banks: OK


SAVIHost Preset Manager
Loading of headered presets/banks: OK

Loading of headerless presets/banks: Error loading <PathToFile>


VSTHost Preset Manager
Loading of headered presets/banks: OK

Loading of headerless presets/banks: Error loading <PathToFile>

Reloading a performance: Memory Allocation Error / Pattern(s) not loaded



The only difference with regards to preset storage i found in the VSTHost project file was that compared with .fxp's/.fxb's the headers (and only the headers) seem to be 'endian-swapped'. In other words while VSTHost writes CcnK/7dWx/4FPCh/etc into .fxp's/.fxb's, it writes KncC/xWd7/hCPF4/etc when saving presets into its project files. But from what i can tell this is 'normal behaviour' for VSTHost and not normally a problem, either. The cause of the issue is thus likely to be on BlueARPs side.


A similar effect could be observed with Phrazor. If i save a simple chain like BlueARP --> minimoog, Phrazor fails to properly reload the project. All that it does is load in BlueARP (without restoring any patterns) and stop at that. This suggests that it runs into the same problem as VSTHost, only that it doesnt give any errormessage and kind of 'stalls' at that point. As a result the minimoog is not being reloaded even though it was part of the saved project.

(Note: Another problem with BlueARP in Phrazor is that it runs fine when initially loaded, but stops working as soon as a saved preset/bank is loaded. (In this case via BlueARPs own preset manager.) A couple of times i was able to temporarily get back functionality by toggling transport on/off a couple of times whilst simultaneously hitting random keys, but on the next transport stop/restart it would be nonfunctional again. No idea what the problem might be in this case, but i thought i at least mention it so you know about it. PS: Forgot to mention: The problem goes away again completely upon using BlueARPs 'initialize' function, i.e. if you load a preset, and BlueARP is nonfunctional, and you then use 'Initialize Program', BlueARP will be fully functional again.)


On the positive side: Saving and reloading projects with Rax'N'Trax works flawlessly, so there is at least one host where the problem does not occur. Maybe it can help isolating the cause of the problem.

(Other hosts i cannot try right now because the other machine is down at the moment. Maybe somebody else can sacrifice half an hour to help?)
Last edited by ENV1 on Mon Dec 17, 2012 2:21 pm, edited 2 times in total.

Post

Clicked Quote instead of Edit - Can be deleted.

Post

graywolf2004 wrote:The issue I have now - PPQ position in FL studio doesn't actually give a position within a song. So if I set song position to some arbitrary point and hit play, bluearp is not in sync with the beat (is starts from 0). Step machine has the same bug. But is's strange. I don't beleive there's no way to obtain current PPQ position within a song...
Shot in the dark: There are some host that only create this when something is automated.
For instance: I couldn't get Usine VST to work in Studio One until Nay-Seven pointed out to me, that I need to enable (Automation-) "Read" for the track for it to work!

I just stumbled upon this thread and don't use FL Studio but somehow this issue reminded me of that problem and its solution.

Best of luck solving it!

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." · Rumi
UrbanFlow.art · Instagram · YouTube

Post

Hi, i had a couple of minutes to make a quick draft of the "per row randomize & bypass" feature i was talking about a couple of posts above :
(i have also changed the colorscheme a bit, i hope you don't mind)
Image

Post

Brown Arp?

Post

@ sinkmusik. I like your new color set, may I ask how you did this? For me, yours is easier on the eyes. Thanks!

Madeleine
:)

Post

I think he did this in Photoshop with the picture, not with the app itself.
But I was going to implement if not skinning, then at least color schemes. It's in 2nd priority after fixing functional bugs (like the bug with load/save ENV1 reported and I'm currently working on).

@sinkmusic. I don't personally like the idea of randomizing, cause in my experience it never gives something usable. 'Mutate' function is better, but it needs more intelligent approach, taking into account cross-dependence between settings. Let me think more of it.
Regarding switching lanes on and off - maybe it will be better just to create several patterns and switch between them? It's a bit more work, but this way you can create as many pattern variations as you need and it may be not just gradual filling, but any other change. Two thins we miss here to simplify this:
1. "Copy program" between bank slots
2. Program change automation. Say you created 3 variations in slots 5,6,7. You want to use say CC33 to switch variations, then you set low and high valie for program number, and that's it. Or maybe other ideas?

Post

ENV1 Fixed peroformance load issue (Memory Allocation Error) with VSTHost. I'll upload the update in several hours.
But, I'm not sure these 2 bugs are really bugs:
1. SAVIHost Preset Manager
Loading of headerless presets/banks: Error loading <PathToFile>
2. VSTHost Preset Manager
Loading of headerless presets/banks: Error loading <PathToFile>

As I see, saving presets/banks without header was BlueARP's bug and I fixed it. Headerless files saved in BlueARP before are just wrong (don't comply to fxp/fxb format). So I see no bug if VSTHost doesn't load them.
As a workaround, you can load headerless banks in BlueARP, save them and then VSTHost will pick them up. Or I missed something?

Post

graywolf2004 wrote:Fixed peroformance load issue (Memory Allocation Error) with VSTHost. I'll upload the update in several hours.
Great! :)
graywolf2004 wrote:But, I'm not sure these 2 bugs are really bugs:
1. SAVIHost Preset Manager
Loading of headerless presets/banks: Error loading <PathToFile>
2. VSTHost Preset Manager
Loading of headerless presets/banks: Error loading <PathToFile>

As I see, saving presets/banks without header was BlueARP's bug and I fixed it. Headerless files saved in BlueARP before are just wrong (don't comply to fxp/fxb format). So I see no bug if VSTHost doesn't load them.
Well, its still a bug.

But since youve fixed it, who cares? :D

The headered presets work fine, i only included that info to be thorough and in case you thought that the headerless presets should have been working with the new build too.

graywolf2004 wrote:As a workaround, you can load headerless banks in BlueARP, save them and then VSTHost will pick them up.
Nah, thats alright. What i did so far was only tests anyway so i wont even bother with the couple of presets i have in headerless format. As long as the headered presets restore properly after project reload im a happy camper.

Thanks for keeping at it. :)

Post

update: BlueARP v1.10 beta
http://www.graywolf2004.net/files/BlueARP_v1.10.zip

1. Fixed performance load issue with VSTHost reported by ENV1
2. Fixed PPQ bug (now plays OK is started not from PPQ 0).
3. Minor GUI improvements

Regarding GUI - I thought that for 'Rest' steps it's better to show real note length on the matrix. But now sure it's the best way. Also, value bricks for 'Rest' steps are greyed out, cause they don't really affect the sound.

Post

VSTHost performances reloading fine now.

Whatever you did, it did do the trick. :)



Other: Whilst testing this new build i ran into two rather odd things that need more investigation:

- Loading an instance of OCET would make BlueARP spitting out MIDI notes, even though OCET wasnt even connected to anything yet. In other words OCETs mere presence in the performance had some wierd effect on BlueARP that caused it to send out MIDI (in this case to the connected minimoog) without actually being triggered by anything.

- I had one instance of BlueARP connected to OCET. That one was used to switch OCETs patterns, and it worked fine. But since OCET needs seperate signals for pattern switching and its internal transport control (Play) i needed another instance of BlueARP in order to control both. So i loaded another instance of BlueARP and removed the MIDI connection of the first instance so it doesnt interfere while im setting up the second. When i connected the second instance with OCET, OCET was still receiving the pattern of the first instance even though the first instance was no longer connected.

Considering the effect, this might be a case where memory is improperly shared between different instances. Or it could just be a problem that only exists with VSTHost. I will do some more testing when i have more time and report back...just letting you know in advance in case youd like to do some checking yourself.


Thanks for the new build, and merry christmas to you and your family. :)

Post Reply

Return to “Instruments”