where to go from here? externals... yes this again.

    Jan 27 2012 | 12:45 pm
    hello all,
    well after some proper thinking i have come back to learning the building of externals, and successfully ran through an informative guide on expanding the simplemax source, by adding an extra inlet and an output. [ive attached the paper i used to help me]
    although it was slightly off on some things or its explanation was slightly misty i made it through fine. but was wondering if there is anything else much like this paper that helps in explaining things in a tutorial sense. i know the sdk comes with info a work-throughs, and will be getting on it. plus know than mr eric lyon is writing [or proofreading] a book which is a tutorial from start to finish of building externals, from beginner to advanced [which i am so happy for, but also impatient to wait :)]
    but the brief walkthrough i have done is great and simple. but none-the-less i am not a programmer first, and am very "whaaa..." with most of the jargon taking up my screen. and was wondering if there was anything else that can explain things in a tutorial sense. videos [though i seen none] or even an updated version of this. https://cycling74.com/articles/writing-externals-with-xcode-22/ or even other papers that explain the language etc.
    anyhow, i will lick my external question wounds and move on
    lewis edwards ------ smokingbunny.co.uk

    • Jan 27 2012 | 3:46 pm
      thats cool and thanks for the word of wisdom. i mean even the whole "which environment to use in xcode?" is not really explained anywhere for building externals, if you want to start from scratch with a new project. still having a tough time finding it to be honest
      do have some books/pdfs that friends have lent/given me • The C Programming Language - 2nd edition • Objective C Visual QuickStart Guide • Practical C Programming - 3rd Edition and the max 5.1.7 api pdf
      just where to start really. but links and more info would be great, as i do have enough ideas and non-msp externals i would like to try and build
    • Jan 27 2012 | 4:54 pm
      would you know what would be the best book to get hold of to learn c? just having a look at second hand shops and seeing what they have
    • Jan 27 2012 | 5:30 pm
      would it be objective-c or c i would be looking for. im guessing objective-c but just need to know first before i start buying books, just so i know im on the right path.
      but have found some very cheap places for books, but as i said, just need to know whether objective-c or c for external programming
    • Jan 27 2012 | 6:51 pm
      groovy, was confused as objective-c gets thrown around. but that does clear things up for me and also makes it much easier.
      so c it is for my years learning ;)
      again, thanks
    • Jan 28 2012 | 11:34 am
      hello again,
      had a massive search for starting c, and was lucky with the search but not the price of some things, but will be getting some textbooks next week.
      gonna get "beginning c from novice to professional" to start with and "the c programming language" for rest. looking forward to this, in a very geeky way :)
      also as well thought i would share some findings as well from my searches, which are videos to explain c programming. i do like a good informative video to pdfs. do prefer actual paper books to pdfs, but a video is just great to help see what happens.
      the guy has also done objective-c and also cocoa, plus other stuff
      lets get learning :)
    • Jan 30 2012 | 6:05 pm
      One book you mention, "Practical C Programming" ( by Steve Oualline ) is an excellent book for learning C, in my opinion.
      best, Tim
    • Jan 30 2012 | 6:38 pm
      hi tim,
      great, thanks a bunch. the more learning the better really. i did see the third edition stupidly cheap as second hand and was wondering. but may as well since i found it for £3. plus can give back the ones i borrowed ;)
    • Jan 31 2012 | 7:26 am
      gonna get "beginning c from novice to professional" to start with and "the c programming language" for rest
      I really like The C Programming Language. I learned C over a number of years using a bunch of different sources but never really using it. When the time came that I wanted to write some MSP externals in C (and work on some other projects in C) I used this book to offically learn some stuff I was unclear about. What I like about this text is that it very clearly and succinctly explains all the features of ANSI C (or pre-ANSI C I suppose if you are looking at the 1st ed.). It is kind of cool that you can that text and have an understanding of all the language features (a text explaining all the language features of C++ or Java would be a lot longer I imagine).
      The downside of this book is it may not be as strong on learning all the programming concepts involved with writing things in C, so depending on your experience with C or other C like langauges (or programming in general) it may not be the best place to start. I was already pretty experienced in some other languages before I read The C Programming Language and even though I hadn't written much useful C code before reading it, I had written a bunch of practice/experiment programs over the years and had read the source of a number of C programs more advanced than what I had done so I can't really comment on how it would be for a beginner to use that text.
      What I recommend is if you have another book you like (i.e. Practical C Programming), use that, but for every new language feature or bit of syntax you learn, read the corresponding section in The C Programming Language instead of saving that text for learning "the rest".
      Also, as far as learning the Max SDK, the tutorial-like parts of the documentation (e.g. "Anatomy of a Max Object", etc.) only scratch the surface of the API. The included examples will show you muh more of what you can do with the API, but there are a number of details that you might not see there either. Once you learn about doing something through documentation and/or examples (e.g. learning how to access buffer~ data), check out the modules section of the documentation and browse all the approriate functions and macros for that particular concept. I have found browsing the module section made some things more clear when I was confused about something I had learned.
    • Jan 31 2012 | 11:46 am
      Hi Lewis,
      I'm glad to see that someone has made use of the basic external guide I posted a while ago. I underwent a very similar learning curve last year as part of my MSc and have found it to be most rewarding. The tutor who wrote that tutorial is the chap who introduced me to Max.... my misses will never forgive him but I am eternally grateful!
      When I first started I found that learning to program in C was very daunting and that there is usually a high level of assumed knowledge in tutorials and other documentation. I persevered however and the first object I built for myself was a copy of the mtof as this takes a value from an inlet, carries out a bit of maths and spits it out again. I felt pretty triumphant but I must say that it took me longer to work out how to set up Xcode to build the damn thing than it did to actually program it.
      It was pointed out to me by a few software developing types that plunging straight into writing externals might not be the best path to take, as there is no way of debugging them except by loading them into max, realising that they fail, opening it in Xcode, commenting out a piece of code, exporting it again, loading it up in max..... Because of this I started to write the functions for my objects and debug these separately so that I knew that they worked before dropping them in to the code for my externals.
      Anyway I'm not entirely sure what the point of my ramblings is but it is very nice to see so many people helping you, I wish I'd asked...
      Also I found 'C Pocket Reference' very useful for quickly finding out how to do something.
      Good luck