Thank Jules and beginners questions

Hi, Jules!

Thank you very much for this planet's C++ programmers who provided such a fine library, I like JUCE, also worship you! 

I like computers and programming, but my level is poor, there is no such opportunity. Much of my age. In previous years, to make a living, had to busy with other work. Some are stable, and I can not give up the hobbies and dreams, then begin to learn computer language from scratch. Difficulties, but I have the determination and perseverance. About 3 months, and I almost gave up everything, I learn C++ more than 15 hours every day. The people of my age, it really is not easy. But I persevered, next plan is to continue. 

Recently, I have read "C + + Primer Plus", "C + + primer" and "Thinking in C + +" Volume 1......Completed approximately 70% of the exercises. I feel very tough, a lot of content do not understand, learning is not very good. Also have read the "Windows programming" on the Windows API and message mechanism, event-driven, and so a bit superficial understanding. 

I want to learn JUCE, and use it to develop programs, from simple to complex, But I do not know how to start learning JUCE? 

I have some questions: 

1, why JUCE does not support Japanese, Chinese, Korean and other double-byte characters? How to make it support? 

2, I am using the IDE is the DEV-C++, because the VS start up and running too slow. How to compile JUCE example in DEV-C++? 

3, is there books and tutorials to learning JUCE? Systematic, comprehensive, detailed, step by step. for beginners, but also can be used as JUCE API reference books. I really need this urgently. 

I live in the country do not speak English, and a very backward area, living environment and learning environment is not good, and there was no opportunity to communicate. And my English is poor, Please forgive my expression is not clear. 

Most sincere blessings to you! 


You’re very complimentary, thankyou!

Good luck with the learning process - I find that the only way to really learn something like this is to have a project that you want to do, and just go for it… You’ll probably start slowly, do a bunch of stuff wrong and have to go back and re-write it, maybe many times, but it’s better to have a goal to work towards than to just work on exercises.

  1. Juce does support foreign character sets, I don’t really understand why you would think otherwise. All strings are unicode, so obviously there’s no problem with wide characters. The only thing that’s missing is right-to-left text in the TextEditor class, but there are plenty of people using it in the far east.

  2. If you’re a beginner, Dev-C++ will make things even harder than they need to be. I don’t offer any advice about it because I don’t have time to maintain compatibility with it, so you’re on your own with that. Other people might be able to offer advice.

  3. No, sadly there are no books, and few tutorials - a lack of easy documentation is a common problem in lots of open-source projects, but at least with JUCE the API documentation and comments are good!

Thank you, Jules!
Your guidance and assistance are important to me, I think, this is the best tutorial.

I do have a clear goal. Here, most of the music producers are using Cubase, SONAR, Pro Tools, Logic, Audition, Samplitude, Finale, Band in a Box, Jammer, FL-Studio, REASON, etc., we do not have own specialized software, So many people in this country, it is this situation, misfortune? defect? or pirated? I don’t know and sad.

I want to develop a professional music software. It has some necessary features: recording, mixing, MIDI editing, production scores, effects, synthesizer, Supports ASIO, VST… simple and efficient. If possible, I would hope it to have some intelligence, like humans to learn and understand, not the automatic accompaniment simple and dull, heavy, and the only alternative to the traditional model. If can achieve, we can make it “read” a large number of master’s work, let it to digestion and absorption, understand, and according to the needs of people to create music.

These ideas may seem ridiculous, but really part of my ideal. I have more ideas, but may be more ridiculous, I am sorry to say.

Through study and read the documentation, I was finally able use VS 2010 to compile the JUCE example, I’m very pleased. Although the files I converted some of the warning is not happy and confused. :slight_smile:

Does not support the text on the Far East, maybe I narrate did not clear. I try to modify and compile the Hello World, the “Hello World” replaced by Chinese, but the program did not show any character. So I modified the juce_win32_Fonts.cpp, line 118, (defaultSans = “Verdana”; ) then to be displayed.

Then I try to compile Jucer (experimental), run… the text is garbled:

and Cpp file in the editing area, input the Chinese can not display …

may be I not have enough understanding of JUCE, very simple question that I can’t be solved, I’m so ashamed. It seems I must redouble to seriously study and research.

My long-winded and stupid question to waste your valuable time, I’m very sorry, Please forgive.


Well, good luck on attempting a sequencer as your first project! I have to say that it’s probably one of the hardest programming challenges that anyone could possibly attempt!

The garbled characters in your screenshot actually looks like it’s your source code itself which may have the wrong format - if you’re embedding strings in your source code, then you need to make sure that the compiler is correctly turning your source file into a suitable unicode string. E.g. if you had this:

…then the compiler will be trying to turn those wide-chars into 8-bit ascii, and I’ve no idea what the result will be, but it’ll probably be wrong.

This would be better:

…but you’d still need to check whether the compiler is using a text mode that matches the format of your file - e.g. your text editor may be saving the file as utf-8, but the compiler may be interpreting the file as 8-bit ascii! It’s all a bit tricky.

If you use the DBG macro, e.g.

String someText (L"视频 地图 新闻 购物"); DBG (someText);

…then you can see whether the string has been correctly compiled, because if it is, it should be printed correctly to the console.

Don’t worry, swingcoder!
I started like you a couple of years ago.
And after a lot of learning - mainly reading and writing a lot of code - I was able to make this
which is still not finished, but gives me a lot of satisfaction already.

Yes, Juce lacks of a step-to-step beginner’s guide, but Its documentation (and comments within the code) is absolutely wonderful and clear.
Try to start by understanding the “Hello world” project in the extras folder.
And then try to analyze the juce demo. You will discover a lot of things, even where you wouldn’t expect them.
For instance, in the fonts and text demo you will also learn how to create resizable layouts, with components and bars.

About the ide, if you now use visual studio, I think you will find the “go to declaration” and “go to definition” features very useful.
Try to open the “Main.cpp” of the HelloWorld project. You can see at line 19:

Now click with the right button on DocumentWindow and select “go to declaration”. Visual studio will search for the class through the project,
and open the file containing that class’ declaration, with all of its related functions.

Hope this helps!

Thank you Jules, I’m trying to do this, although not entirely successful, but I think that may soon come true. :slight_smile:

Thank you for your encouragement, enthusiasm and help, masshacker! In your guidance, I’m trying to use VS, compared to the simple DEV-C + +, VS is really a monster. Chinese mean: 庞然大物也. :slight_smile:

Although I do not see screenshots of your software, but I think it must be very beautiful, I hope one day I can so do it pretty, easy to use software.