Why do some vsts work in Bespoke Synth (or any DAW) and others don't? - vst

I use a lot of the vst synth plug ins from K Brown. They all work in Bitwig and Waveform but only some of them work in Bespoke Synth. I have been googling why some vsts work and others don't but I can't find anything that comes anywhere near addressing that question. They all seem to be made the same way and are all vsts, do I can't think of why some would work and some not.
I also am just starting to program my own audio plugs and I plan on making some virtual instruments and I think this information will help me. I'm not asking for a too in-depth answer, just a short explanation that will point me in the right direction please.

Might simply be a 32 bit / 64 bit problem.
Bitwig still supports 32 bit plugins while most host softwares have stopped to do so. (You can use something like JBridge to still use them in such a host.)
So check if the problematic VST are 32 Bit while the working ones are in 64 Bit.

Related

(x64) Where can I find CPU instructions usage statistics in contemporary programs?

I'm looking for some statistics which would tell me/show how frequently each instruction from x64 instruction set is used overall in modern programs. I have done some google searches, but I can't find any phrase that would give me anything else than "instruction performance statistics", so I'm asking if, by any chance, someone here knows of something like what I'm trying to find.
I'm trying to find info like this because I'm working on my own 64bit CPU (as an interesting excercise, no other ambitions, so don't worry), and beyond the obvious basic instructions that I know are necessary, I'm aware that x64 processors have a huge amount of instructions from... say... exotic to downright (to me) absurdly weird operations. I therefore I would like to know how often are which used in actual programs, so that I can prioritize which one to learn more about and possibly add to my own CPU, based on the assumption that the most used/occuring ones in existing compiled code, even if they seem weird to me, are actually useful.
If nothing of that sort exists, could you at least point me to some kind of disassembler/analyzer which I can use myself, point it at a program/dll, and it would be able to show me instruction usage stats for it?

How to connect SystemC model with SystemVerilog?

Say we have a SystemC model of decade counter and I want to verify SystemVerilog Counter RTL using SystemC model. How can we connect these two in SV/UVM based testbench so as to communicate between them.
Mentor developed a free package called UVMConnect that was developed specifically for the application you are asking about. See https://verificationacademy.com/topics/verification-methodology/uvm-connect. You will need a simulator that supports SystemVerilog and SystemC simulating together, like Questa.
If you're using QuestaSim I think UVM-connect from Mentor is the way to go. When I first used it(4 years ago) it was very buggy and gave the most cryptic segfault errors I've ever seen. But, with help from the Mentor support I managed to overcome them and get stuff done. It should be more stable now, but if you have problems with it don't hesitate to contact Mentor support. They are very responsive.
However, if you're using Cadence tools and/or the e language I think that UVM-ML from Cadence is a much more comprehensive solution. It allows you to connect components written in any combination of languages(SV-SC, SV-e, SC-e) and it has nicer documentation and examples. I understand it's also compatible with all simulators now. You can find it here : http://forums.accellera.org/files/file/65-uvm-ml-open-architecture/
Not sure what Synopsis folks recommend for their tool suite. Maybe someone who used them can offer more information on this. But I'm guessing that both UVM-ML and UVM-Connect could work since their makers claim that they are portable.
And lastly, if you're planning to use SystemC as a verification language(very unlikely but just for the sake of diversity) there is something called UVM-SystemC which is basically a clone of SV-UVM written in C++/SystemC. It's currently in its alpha release and it lacks many features(register modeling, constrained randomization, coverage collection, etc.). It feels a lot like SV-UVM and I think it's a nice toy to play with in your spare time if you can't afford a commercial simulator license. You can find it here http://accellera.org/images/downloads/drafts-review/uvm-systemc-1.0-alpha1.tar.gz

Learning curve for PyDev-Eclipse and WingIDE --- which is steeper?

I have been using WingIDE for python program development for several years, and in general I am satisfied with it (esp. with their technical support). The learning curve for WingIDE was rather steep (at least for me). I am now considering some projects that I will require that I work with PyDev-Eclipse.
What kind of learning curve (steep -> easy, or not steep -> not easy) might one expect with PyDev?
I don't think there's a right answer here... Experiences vary a lot (I'd suggest following the Getting started tutorial http://pydev.org/manual_101_root.html and then judging for yourself... I think the basics should be easy to grasp, but as with anything else, to really master it will take more time, especially getting used to shortcuts and discovering what it's capable of).
I agree with Fabio that there is no simple answer. For Wing, start with the Tutorial in the Help menu. That takes you through the basics you need to know to work with Wing and use the debugger, and you can learn the other tools and capabilities more slowly over time.
The choice of IDE is as personal as choosing a keyboard. But for both the experiences of others sometimes help to make a choice.
In my case Wing has made the difference between advancing my Python skills relatively quickly, and some months of being bogged down by not understanding basic concepts. I have really found that the functionality Wing offers to go through existing code helps to understand Python and existing code more quickly.
With Pydev I got bogged down in the complexities of Eclipse. With Wing I felt that I was standing on the shoulders of people who grokked Python deeply. Note the word "felt", it is a very subjective thing, and you should most definitely take some time to try out what works for you.
Some things about Wing that make me believe it has helped me learn Python much more quickly than I would have otherwise: The Auto-Enter Invocation Args setting which shows up the PEP-8 way of invoking arguments to standard functions you are calling. And the go-to-definition and find-points-of-use functions that I have used many times to try to figure out how existing code works. This may all be available elsewhere, but it just works immediately and in a very coherent way in Wing.

How to write a code-generator/compiler

I would like to know how you would generate some kind of bytecode from an abstract syntax tree.
I've searched the internet but I cannot find anything helpful.
I've seen some mention of using templates but cannot find someone that actually explains what it is, how it works or how to implement it.
Just one thing though, I don't have any real programming experience and I'm completely self-taught so I'm not looking for an 800 page book on the theory of writing a compiler, I'm looking for something a little more practical, some kind of tutorial working through an actual example.
I learned a lot by following Let's Build a Compiler, by Jack Crenshaw many moons ago. It uses Turbo Pascal for implementation and generates 68000 assembler, so there is some steps to get it running on a modern host but it works through a lot of steps that is still valid.
Take a look at Kaleidoscope tutorial in LLVM: http://llvm.org/docs/tutorial/
and for a somewhat different perspective, http://community.schemewiki.org/?90min-scheme2c

How hard would it to create a media player (gui fronteend for mplayer), need guiddance for getting started

I am pretty dissatisfied with all the available media players, and I was also looking for a major project to really get into programming. so I am thinking of writing my own media player . Or to be more accurate a gui-frontend for mplayer (something similar to smplayer). How hard would this be.? I have plenty of time (months), and am willing to learn anything.
I practically don't have any knowledge of any windows/gui libraries . My programming experience : tried lots of different languages, wrote a couple of websites in php, lots of practice in java (although did nothing major) . Thats all
Can someone provide some guidance, about where to get started. what all to read. Which language should be used. is C#/.net a good language for this? since I am no expert in any language and have dabbled in plenty of different languages , I think I can pick up any language. Though My main concern is my lack of any practical knowledge . So guide me please.
Lastly my preference is windows (haha whatever), so thats what my target is and thats where I'll doing my coding.
To sum it up I want to create a guifrontend for mplayer that would work in windows.
Thanks
Edit: by mplayer I mean mplayer (the linux one) , and not WIndows media player.
One good place to start could be looking at how the code for gmplayer works - gmplayer is the graphic frontend for mplayer on Linux. It could be that all you really need to do is port the gmplayer code to Windows, then you get a fully integrated GUI instead of just a frontend.
Also, feature request: a nice friendly UI for putting video / audio effects on the output stream (it is so hard to use in the CLI version that most mplayer users probably don't even know it is in there).
I know what I'm going to recommend you is not what you're looking for, BUT:
I'd create a front-end for VLC, which uses Qt, a GUI framework which is extremely usable and easy to start with, in C++.
From my experience as an user, VLC is also more stable and has more features.
Start by copying a working implementation. As you mentioned, SMPlayer exists as a working example of what you want. I'd recommend starting by either hacking it to work better (the playlist really needs more intuitive controls, and multiple monitor support in Windows was nonexistent last time I tried it) or trying to duplicate it in your language of choice.
The benefits of hacking on an existing probject include: the existing codebase works, the margin of work required to make a noticeable change is much smaller, and the existing developers are able to help you come to speed with internals. Also, learning the project's language (C++) would be useful, though it may not be worth the effort if it's more interesting to copy its features in your favorite language.
C# is great for creating any desktop gui quickly. Best way to start with the gui design is to play a bit with the drag/drop components available in visual studio. For the functionality you can use this: http://msdn.microsoft.com/en-us/library/dd564585%28VS.85%29.aspx .