Is compiling to MSVC 2005 .NET possible?


#1

Kinda embarrassed about this question :oops: , but:

To make JUCE run under Visual Studio 2005, must I have it compile as a Win32 app, or can I have it compile as a .NET project?

I’d love to have access to the power of the .NET framework, strengthened by JUCE’s awesome audio classes!

I suspect not, though. I have yet to see an audio application use the .NET framework (yeah, I know .NET doesn’t really support audio streaming…I mean I haven’t seen a .NET program even use a third-party audio library).

Best,

  • Jim

#2

I’ve no idea, TBH. If you compiled juce as “managed c++” then maybe it’d work, though I doubt very much if that would compile correctly, as I’m sure they’ve messed the language around quite a bit.

You say the “power” of the .net framework… which powerful bits in particular are you interested in? Or is there a MS marketing executive standing behind you with a gun to your head?


#3

[quote]…is there a MS marketing executive standing behind you with a gun to your head?[/quote] :stuck_out_tongue:

Naw…it’s just that audio aside (which .NET has zero support for), it seems .NET and JUCE duplicate much of the same functionality. Now for multiplatform support, it’s a no-brainger which to use – JUCE all the way. And JUCE, in my opinion, has nicer GUI widgets. But .NET will soon be natively supported by all windows XP machines (right now you have to download the .NET framework), and from then on a Win-only platform developer won’t incur any extra size hit for making programs that use .NET features. And because MS is throwing its gargantuan weight behind it, there are loads of third-party components written for it. A recent project I did in C#.NET, for instance, was only 200k in size but implemented a pretty complicated demonstration of how Fourier Synthesis worked including lots of graphs, tweakable knobs, and sound. (The sound part was so inelegant I don’t even want to talk about it, and forget anything approaching realtime.)

I’m not saying .NET is the best thing in the world, but for someone limiting themselves to Windows platform development, it’s got a lot going for it. I’m really excited about the wealth of functionality in JUCE, and I’m so new to both it and .NET that I could well be wrong about this (as I frequently am!) but JUCER functionality, for instance, seems to be similar to the GUI builder that writes .NET code, but .NET has an advantage in that there are huge numbers of third-party components that tightly integrate with the GUI builder and write .NET code…and if the programmer decides not to use them, the .NET framework will ship as an integral part of the new Vista OS, so .NET applications can stay quite small. It’s hard to compete with the vast hoard of Microsoft programmers for breadth of functionality…for instance, the .NET string class implements full GREP functionality. Web-based apps are also amazingly simple in .NET…the Fourier Synthesis application I wrote can be run either on the host or the client, with no changes in code…I wrote the code as if it were a standard client, but with a single radiobutton click in a compiler option have a web-based program that runs on the server. It’s not that .NET’s bits are more powerful as you kid, but just that there are a lot more of 'em.

That said, JUCE GUI’s look much, much better than stock .NET gui’s, it’s open-source so it’s easily tweakable, and many of the interfaces are either more consistantly written or else simply available, not to mention the multiplatform options. And the guy who wrote JUCE it is clearly an ethical, decent human being…to which Microsoft’s lawyers I’m sure say “no comment” :evil: .

If I’m wrong with any of this, please let me know! I’m learning all the time.


#4

Yes, that’s all true enough! .net is certainly the best thing they’ve done so far, and c# is nicely designed. Pity that it’s all just done to herd people into writing windows-only apps…


#5

yes, writing windows apps only… what a pity :stuck_out_tongue:
but if you are insterested you could give a chance and look at http://www.mono-project.com/Main_Page , it is not finished but is a interesting project (if you like .net of course). actually i can’t just stand anything that is not C or C++. C# is like java all the time, and also a lot of controls for .NET are not free and not very cheap… anyway if i ship a juce app it will be 700kb or 800kb in size, and if you upx that, you’ll get 200 or 300kb… so why i have to rely on a framework which is 30megs to give out a 50kb app when the functionality resides just behind it in the core OS libraries and can sure avoid that ? JUCE, JUCE ALL THE TIME… (forget my sillyness!)


#6

good god on a bus!

JUCE has joined the fucking US military! :?

:shock:


#7

[quote=“Karbon L. Forms”]good god on a bus!

JUCE has joined the fucking US military! :?

:shock:[/quote]

Sir, yes Sir!


#8

[quote=“Karbon L. Forms”]good god on a bus!
JUCE has joined the fucking US military! :shock:[/quote]

And by a British dual-citizen who likes Windows and .NET, nonetheless! We’re actually a nice enough sort once you get to know us :wink:


#9

Jules always did have plans for world domination.


#10

[quote=“jcsquire”][quote=“Karbon L. Forms”]good god on a bus!
JUCE has joined the fucking US military! :shock:[/quote]

And by a British dual-citizen who likes Windows and .NET, nonetheless! We’re actually a nice enough sort once you get to know us :wink:[/quote]

Tell that to the [QC BOT HAS REMOVED THIS WORD]s

:lol:


#11

[quote=“jcsquire”]Kinda embarrassed about this question :oops: , but:

To make JUCE run under Visual Studio 2005, must I have it compile as a Win32 app, or can I have it compile as a .NET project?

I’d love to have access to the power of the .NET framework, strengthened by JUCE’s awesome audio classes!

I suspect not, though. I have yet to see an audio application use the .NET framework (yeah, I know .NET doesn’t really support audio streaming…I mean I haven’t seen a .NET program even use a third-party audio library).

Best,

  • Jim[/quote]

Then there is always FMOD. (http://www.fmod.org)


#12

Malkia - thanks! Just when the choice seemed so obvious to go with Win32 + JUCE, now it’s that vs. C# + fmod. Choices, choices.


#13

But surely c# is a strange choice if you’re teaching audio coding… It’s pretty unlikely that anyone in the real world would dream of writing DSP or audio processing code in c#?


#14

That’s for certain! It seems some languages are ideally suited for making relatively dumb but beautiful GUIs in a highly visual manner (e.g. C#.NET apps) and others are best for DSP (e.g. win32 in C++ with JUCE). I’d love to be able to instruct students to download a single compiler that includes all the functionality they need to do both optimally…but it doesn’t seem like that’s possible. (Yeah, it’s possible to do it directly from C# using DirectSound calls, but it isn’t pretty for non-comsci types like my EE students).

The next best thing is to tell them to download a free compiler (like VC05 express) plus something else (like the win32 SDK plus JUCE OR a .NET wrapper for DirectSound calls with a managed .NET header like the opensource portaudio). The simpler the better… and since the free Express doesn’t include a resource editor, the win32 route would also require them to install the JUCER.

As an EE and not a ComSci my needs are pretty weird in that I’m more concerned about how simple it is to download and link their first project than I am about power and language flexibility…the focus is on the abstract DSP concepts that they’ll eventually hardcode onto a standalone microcontroller; making a test application run on a computer is just a necessary evil to help them debug their ideas. It all goes on a 1mm x 1mm surface mount chip in the end.


#15