JUCE 1.4 (with JuceAudioPlugin aka juce-vst0.2 ) Released

Discussion about: tracktion.com
RELATED
PRODUCTS

Post

koolkeys wrote:What parts of the C++ language should I be the most keen in?
Beware, o ye of youthful and idealistic spirit!! If you love music and/or value your sanity, you will do best to keep yourself away from this arcane perversion. It will rob you of your youth and your vigor, and leave you with nothing but bleary squinting eyes, advanced scoliosis, and tattered wisps of gray hair. And midriff bulge. Software development is an compleat and utter waste of time!!

Yes, boy, stick with your music and free VSTs, and savor the joys that youth has to offer. There probably isn't anything that can't be done with energyXT and enough screen space to wire it all up.

Right...

First, of course, you must memorize the basics of C, such as basic syntax, control structures, variables, operators, arrays, and pointers. Fortunately, this is easy, as there are a gajillion C web tutorials. I always liked experimenting with Turbo C 2.0 (yes, DOS!) because it's small, fast, and you can just edit and run. You can download Turbo C 2.0 here.

The standard text for C is "K&R" or
The C Programming Language (2nd ed)
D. Kernighan and D. Ritchie
ISBN 0-131-10362-8

Then, before you jump into C++, understand a few basic OO principles...Software objects are defined using classes. Classes serve as a container for methods (aka C++ functions or CODE) and the data that those methods operate on (aka data or DATA). When you define a new class you can instruct it to get (inherit) its CODE and DATA definitions from one or more other classes. Inherited methods can also be replaced by alternate versions in the subclass, known as overloaded functions. It gets pretty freaky after that, sorta like a bad acid trip, except that it's code and inscrutable (or nonexistent) help documentation instead of colors and patterns. Google groups can be a comfort. Always know where your towel is.

Two EXCELLENT books on C++, nice 'n' light at ~200 pp each. These two will take you where you need to go without bogging you down in all that Microslush Visual Stoopido dot not crap.

C++ The core language
(A foundation for C programmers)
Greg Satir and Doug Brown
ISBN 1-56592-116-X

The Object-Oriented Thought Process
Max Weisfeld
ISBN 0-672-32611-6

Then of course comes JUCE, DSP, etc and you will still probably have to deal with Win32 sooner or later (mac you say? what about it? I was brainwashed by the evil win32 cult at a very young age!)

Of course you can prolly get some "instant gratification" by simply loading and compiling Jules' examples. Then start changing a few lines here and there, and pretty soon, leave out a semicolon or two, and you'll have 11,298 bizarre unrelated errors. :-)

Good luck, you'll need it!

Post

I'd say learn Java and get a good solid OO grounding. Then move on to C++ and JUCE which is very JDK-a-like.
.................................
"Hell is other People" J.P.Sartre
.................................

Post

What about C#? I heard some of the other developers on the other thread talking about going along that route instead...I am no expert but I do my own web development and have a bit of HTML knowledge but I think I will be going down the programming route discussed here by the likes of Koolkeys and Lowkey (I see a key connection here 8) )at some stage.

Great tips so far... :)

So what about C# where does that fit in?

Post

It's like Java I think. Semi-compiled and runs on a virtual machine. Not sure if you can do dlls with it. And it's pretty much M$ only.
.................................
"Hell is other People" J.P.Sartre
.................................

Post

Karbon L. Forms wrote:It's like Java I think. Semi-compiled and runs on a virtual machine. Not sure if you can do dlls with it. And it's pretty much M$ only.
I'm just now doing a project in C# on Linux using Mono (http://go-mono.com) and GTK#. It's actually my new favourite compiled language. We had a discussion in this the other day. Search the forums. :-)

I wouldn't use C# for DSP though, where every ounce of performance counts. C# is a good language for "business" applications and desktop applications. Java is a good language for enterprise grade applications, especially web-based ones, though ASP.NET with C# codebehinds are quite nice, too.

Martin
"Life is both a major and a minor key"
-- Travis, Side

Post

Now that Juce is out, I think I'm going to start to do some coding... but coming from java, this seems kinda needlessly complicated. For example, if there were an API for writing audio plugins in java, a gain plugin might look like this:

Code: Select all

public class Gain extends Plugin {
  Slider s;

  public void init() {
    s = new Slider(0,1);  //Min Max
    addSlider(s);
  }

  public void process(float[] data) {
    data[0]=data[0]*s.getValue();
    data[1]=data[1]*s.getValue();
  }
}
The real code for C++ is a lot longer than this, why can't it just be that simple?

Post

jtxx000 wrote:if there were an API for writing audio plugins in java, a gain plugin might look like this
SNIP
The real code for C++ is a lot longer than this, why can't it just be that simple?
It is that simple. Go have a look at the Slider class in JUCE.

BTW everybody it's JUCE not Juice or Joyce...Jeez!

Post

The gain example for download is significantly bigger than mine. Just as Tracktion has a much better workflow than Cubase, I'm guessing jules is going to make creating a VST using JUCE much faster than with steinburgs SDK alone.

Post

@jtxx000: To be honest, I really don't know jack about Java. So feel free to ignore my ignorant offhand remark. [oh yeah insert stupid coffee joke here]

But compared to raw Win32, ATL, or god forbid, MFC, the JUCE Slider looks pretty simple. In fact all of JUCE looks very clean, organized, complete, and well documented. [but the CHM search tab doesn't seem to work!?]

Post

Baby rant on the subject of C# etc. Blatant MS attempt to steal Java market away from Sun. This is the classic Microsoft modus operandi of embrace and extend, or in this case, re-implement as a proprietary technology. Don't believe the hype. Some say Wronghorn will probably end up forcing everybody to use it, along with that bastardized XAML. But the market will ultimately decide. 10 years from now, many people will still be running XP, just like 98SE is now. And apps will still be coded with e.g. ATL and raw Win32. Think about it...Windows XP and Windows CE (also based on the NT kernel) are actually built using BAT files. It's just disgusting how Microsoft has held back the computing industry for two decades, all the while managing to make us pay up every couple of years to stay on the treadmill.

And now I'm through.

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hmm, even though I might make a fool of myself, but:
Why not support BeOS or moreover its successor Zeta (http://www.yellowtab.com)?

And don't tell me it's dead, because there's alot going on over there. And it has a clean c++ api and is media oriented from ground up.

And, if you have a look at Roland's (Edirol's) DV-7 Video editing suite, which is created on beos, it's more then perfect for media purposes.
And Traction would be a killerapp there, Jules.

Post

css wrote:Why not support BeOS or moreover its successor Zeta
Simple. No business case.

Some facts:
1. # of musicians using Zeta is basically zero
2. very few VSTs (3?) available
3. significant effort required to port JUCE

Linux is running on perhaps 5% of desktops, after hammering away at the edges of the Windoze monopoly for going on 10 years. Guess what fraction might be running BeOS/Zeta? Hint: less than 1%. The actual number of BeOS systems in active use is probably in the thousands.

OK, now consider how many $80 copies of Tracktion (minus X% for Mackie) have to be sold in order for Jules (yes it's just one guy) to buy groceries, pay the mortgage, utilities, car payment, insurance, etc. And remember he already has to maintain JUCE/Tracktion on TWO operating systems.

Now ask yourself, if you were Jules, would *you* invest your time on it?

For the real story, just follow the money. In February 2001 Be Inc. filed suit against Microsoft over their exclusive licensing deals with PC manufacturers that effectively prevented the release of machines with anything other than Microsoft's Windows. Be claimed that this anti-competitive behavior forced them out of business, as BeOS couldn't get enough of a foothold in the marketplace to overcome this. In fact, Be Inc.'s CEO (Jean-Louis Gasse) offered to give BeOS for free to any PC manufacturer who would dual-boot Windows and BeOS; none of them accepted the offer. On Sept 5th 2003 Microsoft and Be Inc. settled their case with Be Inc. receiving $23.2 million and Microsoft no longer being accused of anticompetitive wrongdoing.

So here's how it will work. The 10 employees will slowly bleed down the 23M and then everybody will cash out, move on, and find another scam. Zeta will fall to the scrap heap of history along with all the other "neat" blue sky ideas that couldn't put a dent in the hegemony.

Hey didn't you hear that man over there ask you, "Where do you want to go today"? The answer is "nowhere". One day we will all revolt. But not today.

Post

For Java VST.
http://sourceforge.net/project/showfile ... p_id=92192
If you do Java your of to a flyer with this. Grand for proto-typing too.
There'll be an update out soon. I'm supposed to be testing it :D but I've been sidetracked. Anyone wants the new (very much) improved version PM me.
.................................
"Hell is other People" J.P.Sartre
.................................

Post

sickle666 wrote:If someone uses this to make a wrapper that will allow DX plugs to load in a VST host, please post it!
There already is one, and it's free. It only works with DX right now, not DXi, but the developer is working on DXi.

http://www.vb-audio.com/ Look for "ffx4".

G.

Post

Here's a link to the project's home page.
http://jvstwrapper.sourceforge.net/

Post Reply

Return to “Tracktion”