Sanjay Patel is a animator and illustrator from Southern California who was born in the UK. Sanjay works as a supervising animator and storyboard artist at Pixar Animation Studios, where he has worked on numerous films, including Monsters, Inc, A Bug’s Life, Toy Story 2, Ratatouille, The Incredibles, and Toy Story 3. He has also written and illustrated books on Hindu mythology and he loves how images can tell a story. Read more about Sanjay and his brilliant work in this interview.
14 Tutorials that Make Using SONAR a Piece of Cake
SONAR is a digital audio workstation by Cakewalk, a subsidiary of Roland. It is the only major DAW with a scripting language, and you need a Windows PC to run it.
It started life in 1987 as a DOS MIDI sequencer, and has been under constant development ever since. It competes very well with other major DAWs, and the Producer version costs around $400.
Last week’s article covered SONAR’s history and features. This week we learn how to use it. Here are 14 tutorials that make using SONAR a piece of cake.
This article was previously published on the AudioJungle blog, which has moved on to a new format in 2010. We’ll be bringing you an article from the AudioJungle archives each week.
1. Introducing: SONAR 8 Producer & Studio
“Cakewalk’s Product Manager Alex Westner reveals all about the newest versions of our prized digital audio workstation! Learn about all the new features and control assistants added to make this platform the hottest on the market!”
2. Session Drummer 3: Getting Started
“Getting started with Session Drummer 3, new to SONAR 8.5.”
3. Step Sequencer 2.0: Getting Started
“Getting started with Step Sequencer 2.0, new to Sonar 8.5.”
4. Cakewalk Sonar 8.5 Matrix View
“How to use the Matrix View in Cakewalk Sonar 8.5. This is a reformatted excerpt from the free update for Sonar 8.5 to Sonar 8 – Know It All! by Digital Music Doctor.”
5. ProRec 127th AES Coverage: Cakewalk Sonar 8.5 Matrix View
“Rich Curtis from Cakewalk gives us a demonstration of Sonar 8.5′s new Matrix View.”
6. Cakewalk’s SONAR 8 Webinar
“Live from Cakewalk HeadQuarters in Boston, MA. Inaugural SONAR 8 Webinar. Hosted by Seth Perlstein.”
7. SONAR 8: TS64-Transient Shaper
“Introducing SONAR 8′s TS64-Transient Shaper and the effects it has on various instrument loops. Fix, enhance, and completely change the quality of sound of anything you produce.”
8. Using Controllers in SONAR 8
“This is a guide on using pitch wheel controllers in the piano roll view of SONAR 8 Producer edition. You can create or edit controllers such as modulation, velocity and many more in this way.”
9. Sonar 8 Better Piano Sounds
“Just a quickie, well 10 minutes really, on how I get a massive piano sound out of my cheap keyboard using Cakewalk Sonar 8 producer Edition.”
10. AUTOTUNE—SONAR 8
“This video will show you how to load VST plugins.”
11. Chuck Carr showing Cakewalk’s VX-64 VocalStrip
“Chuck Carr – Producer/Songwriter. I spent the last 12 years at PlayStation writing & producing music for 100′s of games & artists. Here’s an example of how I use the Cakewalk VX-64 VocalStrip processor on The Hoff’s voice for an upcoming release.”
12. Editing Clips, Loops, & Groups in SONAR 8
“The Comping and Editing Tools in SONAR 8 can get you that perfect track in no time. Comping means to loop a section of a project and record multiple takes. The best loops and takes can be combined to produce the perfect track. In this video you will learn more about the clip selection groups, the free edit tool, and other edit tool enhancements that will allow you to edit the layers, pick your favorite, and put a great piece of music together FAST!”
13. SONAR 8 PRODUCER / Basic usage of Beatscape
“It introduces a basic usage of Beatscape attached to SONAR8PE.”
14. Sonar 8 Editing Midis Tutorial
“In response to a query about how to edit a midi track you have played wrong on the keyboard i have made a basic video on how to edit the notes after the fact.”
Workshop #107: Vortifeel by OmA
At Audiotuts+ we regularly put up a reader track for workshopping and critique (find out how to submit a track). This is how it works: you upload your song, and every week or so we’ll publish one here and step away from the podium. The floor is yours to talk about the track and how the artist can fix problems in and improve upon the mix and the song.
This track has been submitted for your friendly, constructive criticism. They have put their track (and their heart and soul) in your hands to learn and get useful feedback.
- Do you enjoy the song or track itself? Does it have potential?
- Can the arrangement be improved?
- How did you find the mix? What would you do differently?
- What do you enjoy about the rhythm track? What can be done to improve it?
- Is the choice of instruments relevant and effective for the style/song?
- Are the lyrics (if any) effective? Does the style, arrangement and genre of the song suit them?
- Can you suggest any specific techniques that might improve the track?
- Do you have any other constructive feedback?
Vortifeel by OmA
Description of the track:
A quick song inspired by video games / movies atmospheres I loved.
Download audio file (vortifeel.mp3)
Terms of Use: Streaming. Download, redistribute or use on demand.
Have a listen to the track and offer your constructive criticism for this Workshop in the comments section.
Submit Your Tracks for Workshopping
Need constructive criticism on your own tracks? Submit them using this form.
Retrieve Password
Scrape/gather Images
I need ALL images of ALL games from a website. Whether this is downloading from whereever their image directory is or doing a specific screenshot per images with a screenshot program does not matter to me as long as ALL images are gathered.
Website is: http://www.wms.com/
A game example is: http://www.wms.com/Games/Video/BonusBank/HotHotSuperRespin/Pages/zeusii.aspx
If you click on Screenshots, you will see a lightbox with 3 images available for this particular game.
must be VERY thorough and get ALL games on this website (and ALL screenshots)
Clone Of A Site
Ecommerce Website
I need an ecommerce website developed with the following:
-Attractive Design layout (the products sold are beauty related items: capes, make up, shears, etc).
-User friendly admin (to add, delete and modify items).
-Paypal compatibility
-Standard links i.e. home, about us, contact us, privacy, return policy, etc…
Please provide samples and features of Ecommerce stores you’ve done.
Learning Mgmt For College
hie guys:
I’m a schhol manager in Santa Cruz.
i need a learning management system in any programming language most probably in php.
I do not need a software kind of thing (or it maybe accepted if you agree to rebrand it).
The main aim of this project will be to develop a comprehensive learning solution where each student’s details etc can be added from college end. also new classes and activities can be added from college end.
Parents and students can login on the main site and view their results, notices,test/exams details etc.
Also, am thinking of providing a sms feature. whenever an exam result is declared, a result sheet will be sent via sms to the student.
I don’t want you to make it from scratch. probably suggest a nice elearning and college management solution. and we’ll go on to improve it the way we want. I would liek you all to bid with requisite link in the pmb.
Please provide a link to the elearning software/program/application you think you can work upon to include the above said features.
Any bid without a link to demo will be instantly deleted.
Thanks so much for your time.
Osdate/transactions/country Classification
Simple Jop On Data Entry For New Users
Small Help In Oscommerce
We have created a flash application for embroidery & screenprinting & integrated with oscommerce.Now when i send the price,quantity & pid to redirectcart.php through screenprinting application it goes perfectly in shoppingcart with an edit button in a shoppingcart.
But i send the same from embroidery application.its shows the price & quantity but the thumbnail of the product is from screenprinting & when i click on edit button it diverts to screenprinting rather then embroidery.
I have passed type=embroidery from the flash(embroidery application)..so that shoppingcart may know the value is comming embroidery application & not from screenprinting. now i want someone who can fix this
I know this is not a big task.So bid reasonable
Programming Project 7159547
Need a PHP Bot that would automatically post reply every half and hour a(customizable) to a specific threads of various adult forums(can be many)
Bot will first login to the forum. Then post a reply (which we supply) with gap of some time which we supply to a thread. Bot should deal with all the cookie and other stuffs which might cause problem.And this bot should work with VPN.
Bot should be able to post multiple replies (upto 100, each with 5 mins gap) without any problems. Account should not get banned. Plz be careful.
Any one who can do it, plz bid. 100% payment into escrow in advance.
If you could show a demo from ur server, it will help allocate the project. Need it to be done in PHP.
Photo Contest
I am looking for someone with a proven strategy to drive 5000 people to a photo contest. Do you do this with a viral facebook app? Are you an SEO expert? Do you know how to design a contest site and drive participants through design and integration with twitter and facebook. PM me with a plan or you will not be considered.
Animating a Merry-Go-Round using Expressions in Maya 2009
Animating using expressions can be a big timesaver, especially when it comes to mechanical objects such as a merry-go-round! In this tutorial, Stephen Ko walks us through a simple expressions-based project, creating a simple UI with sliders to control the different parts of his model. Let’s get started!
Step 1
Let’s start! First, open Maya, and if you want to follow along exactly, open the scene-file provided.

Step 2
I’m going to briefly describe my model before we start. I’ve divided the model into 2 parts: the merry_go_round_move and the merry_go_round_stage. All the horses are grouped inside the merry_go_round_move group, and are named GRP_Horse1 to GRP_Horse12.

Step 3
Now we understand the model, lets start writing our expressions. Start by going to Window > Animation Editors > Expression Editor.

Step 4
The Expression Editor is divided into the selection section and the expression section. After finished typing anything in the expression section, we name the expression in the Expression Name field, and then click the “create” button to save the expression. It will then appear in the selection section ready to be used, recalled or edited.

NOTE : If you can’t see the expressions you create, go to Select Filter>By Expression Name. This will show all of the expressions you have previously created, ordered by their name (which is why naming our expressions is so very important!)

Step 5
First of all, we need to rotate the merry_go_round_move group. Type the following into the expression section :
merry_go_round_move.rotateY = merry_go_round_move.rotateY-1;

Now give your expression a name, and hit Create to save it. So what is this code doing? Well on every single frame of our animation, this expression will look at the merry_go_round_move group’s current Y rotation, subtract one from it, and make that the new rotation Y value. It’s clear to see that as this repeats on every frame as we play through our animation, the group will slowly but surely rotate in the -Y direction, at a speed of 1 degree every frame. Which is not quite fast enough!
NOTE : This model is designed to rotate clockwise, which is why we’re subtracting 1 degree from the Y rotation value on each frame. If we added 1 degree on each frame instead, the group would rotate in the opposite direction!

Step 6
In order to give us more control over the rotation speed, we’re going to add a new attribute to the group. To do this, first select the merry_go_round_move group, and then in the channel box click Edit > Add Attribute.

In the Add Attribute dialog box, add in the settings shown in the image below :

- Long name : This is the name of our new attribute.
- Data Type : Setting the data type to floats allows us to use numbers with decimal places (e.g., 1.7) for the rotateSpeed value.
- Minimum : This is the smallest value we’ll allow for our rotateSpeed.
- Maximum : This is the largest value we’ll allow.
- Default : Finally, this is the default value of the attribute.
Step 7
If you click OK you’ll see that our new attribute is in place at the bottom of the channels box. However, right now it’s not connected to anything and therefore doesn’t have any effect on the speed of our rotation. To connect it up, we need to go back to the expression editor and edit our expression. So open the expression editor, choose your expression from the selection section, and change it to :
merry_go_round_move.rotateY = merry_go_round_move.rotateY -merry_go_round_move.rotateSpeed;
Now make sure to click the new Edit button that has replaced the Create button at the bottom of the window. This saves any changes you’ve made to your expression.
As you can see we’ve replaced the -1 value with a link to our new merry_go_round_move.rotateSpeed attribute, but what does this do? Our newly altered expression will now subtract whatever value we put in the rotateSpeed channel from our group’s Y rotation value, on each frame.
For example, imagine our rotateSpeed value is 1. On each frame, our group’s Y rotation value will decrease by the same value – 1 degree. If we were to increase our rotateSpeed value to 10, the rotation value will decrease by 10 degrees on each frame – in other words it’ll rotate 10 times faster! We could also stop it rotating entirely by setting the merry_go_round_move.rotateSpeed to 0.

Step 8
Whilst changing values in the Channel Box is relatively easy, it might be fun for us to put together a very basic GUI from which we can control the Merry-Go-Round. Whilst this isn’t a comprehensive Maya UI tutorial, this should give you enough info for you to start experimenting a little!
We’re going to make a single window, containing one slider which will control our rotateSpeed attribute. So start by opening the Script Editor by going to Window > General Editors > Script Editor, or by clicking on the Script Editor button in the bottom right of your Maya window. Once opened, type the following into the input box :
window -title "Controls" -width 400 -height 200; frameLayout -collapsable true -label "Merry-go-round"; columnLayout; floatSliderGrp -label "Speed" -field true -minValue 0 -maxValue 5 speed; connectControl speed merry_go_round_move.rotateSpeed; setParent ..; showWindow;
Ok, let’s take a look at that line by line. This first section creates a new UI window 400x200px in size, and sets the title bar to display the text Controls. It won’t appear just yet however, as we have to specifically tell it to show later on in the code.
window -title "Controls" -width 400 -height 200;
This section of code adds something called a layout inside of our window. Essentially a layout is required in order for you to add sliders and buttons into your GUI, and this one, being a Frame layout, will add a frame around everything that we add inside of it. You’ll notice that we’ve also added a label called Merry-go-round, and set the frame to be collapsable, meaning we can fold up our sliders for neatness if our GUI becomes more complicated further down the line.
frameLayout -collapsable true -label "Merry-go-round";
This line adds another layout inside our frame layout. Why? A column layout is very useful for quickly and easily adding controls one above the another into your UI, and it’s often used for easy UI creation! If we didn’t add it in, we’d have to manually position each control, which would take a lot longer!
columnLayout;
This line is where we add in our first control! It’s a floatSliderGrp which is a combination of a slider and an input box, both of which update the connected value. We’ve labelled it Speed, set the minValue of the slider to 0 and the maxValue of the slider to 5. Very importantly, we’ve named the control speed. This is how we’ll access the slider through MEL – if it didn’t have a name, it would be extremely difficult to track down and utilise in our code!
floatSliderGrp -label "Speed" -field true -minValue 0 -maxValue 5 speed;
This is where we connect our brand new slider up to the rotateSpeed attribute we created earlier. It’s a very simple process, and is covered in a lot of detail in the help. Essentially we’re saying to use our speed slider control, to set the value of the rotateSpeed attribute (which in turn controls the rotation speed of our merry-go-round. Simple!)
connectControl speed merry_go_round_move.rotateSpeed;
Finally, we use the SetParent.. command, which, due to the two dots, jumps us from working with the ColumnLayout, up to the FrameLayout, and then to the Window itself, after which we show the window!
setParent ..; showWindow;
With that done, select all of the code and hit Ctrl+Enter to run it. A window named “Controls” should pop up containing a single slider. If you now hit play, you can move the slider to interactively change the speed of rotation! Awesome!

Step 9
So that’s the main body rotating, now let’s move onto the horses. They’ll be moving up and down, so we’re going to have to write an expression to alter their translate Y value.

Step 10
So open the Expression Editor back up, and let’s create a new expression. Write the following into the text field :
GRP_Horse1.translateY = sin(time);

Sin is one of Maya’s built-in mathematical functions, and when it comes to oscillating motion, it’s a very useful one! A sine curve (as shown in red at the top of this page, ) is a smooth curve that goes up and down over time. With a little editing, we can use this smooth up and down movement to drive the movement of our horse.
With the above code entered, click Create to activate it. If you play back now, the horse will move up and down but not how we want. We need to add in some custom attributes!
Step 11
We’re going to add an attribute to the very first horse grp, to change the frequency of it’s up and down motion. You could add this attribute to any object in the scene, or even a locator if you’d prefer, but remember that you’d have to update the expressions below so that they contained the correct path to the attribute, otherwise they won’t have any affect!
Select GRP_Horse1, and in the channel box click Edit > Add Attribute. Give it the settings shown in the below image :


Step 12
With our new attribute created, we need to go back to the expression editor to alter the Sin expression. Edit the expression so it matches the code below :
GRP_Horse1.translateY = sin(time*GRP_Horse1.frequency);
As you can see, we’re multiplying the time value by our new frequency attribute, which has the affect of speeding up or slowing down the speed of the oscillating motion. Pretty cool.

Step 13
With our second attribute in place, we’re going to need another slider in our UI! Open the script editor back up and edit the mel script as shown below :
window -title "Controls" -width 400 -height 200; frameLayout -collapsable true -label "Merry-go-round"; columnLayout; floatSliderGrp -label "Frequency" -field true -minValue 0 -maxValue 10 frequency; connectControl frequency GRP_Horse1.frequency; floatSliderGrp -label "Speed" -field true -minValue 0 -maxValue 5 speed; connectControl speed merry_go_round_move.rotateSpeed; setParent ..; showWindow;
As you can see we have two new lines. The first creates a new slider called frequency, and the second connects this frequency slider to our new frequency attribute. Both lines use the same commands as the Speed slider. If you now hit play, you can interactively alter the speed of the Horse’s up and down motion. We’re getting there!

Step 14
Time to make the other horses move as well! Make 11 more copies of the previous Sin expression, remembering to update the name of the HorseGrps as shown below. As we want to control the speed of all of the horses from the single frequency attribute, the last part of each expression remains the same. Remember to hit Edit when you’re done, and then hit play and move the slider to see the result!

Step 15
Brilliant! Except the horses are all moving up and down together which isn’t very realistic. We need to offset the time value for some of the horses, so that they reach the top of their jump at different times. Lets see what it looks like :

As you can see I’ve added 45 to some of the horse’s Time values. This can be a random value, however I’ve used 45 as it offsets those horses’ movement by exactly half – they’ll be at the bottom of their jump whilst the rest are at the top! An example for one of the horses is given below :
GRP_Horse2.translateY = sin((time+45)*GRP_Horse1.frequency);
NOTE : Be careful that you add the extra brackets in!
Step 16
Finally, open the script editor back up, select all of the code, and middlemouse-drag it to an empty spot on your shelf! This saves the script as a shelf button, allowing you to open the window easy without re-writing all of the code. Now click the button, hit play and see the results of your expressions-work.

And that’s it! I hope you liked this tutorial. If you have any questions, let me know and I’ll try to get back to you. Thanks!
Don’t miss more CG tutorials and guides, published daily – subscribe to Cgtuts+ by RSS.
Productive Kitchen Gadget #2 – Enameled Lemon Squeezer
In an earlier article, I touched upon productive kitchen gadget #1, which was the microplane. In my house, we love kitchen gadgets. There are so many products out there that have sprung up in recent years that can really add to your productivity in the kitchen. It is in this series that I will highlight a lot of these gadgets that can simply make your kitchen life a whole lot easier and more productive.
In this post, the kitchen gadget that I would like to feature is the enameled lemon squeezer.
Now, this isn’t your old-fashioned outdated lemon reamer. This is a brand new design, that makes it extremely simple to get your juice right where it should go; into your food. There are a number of versions of this squeezer that are in different colors. There is one that is green that is a bit smaller that is designed for limes. There is also an orange one that is a little bit bigger that is designed for oranges. You could simply buy the biggest one and use it for all three fruits. We actually own both the lime and the lemon squeezer. I use the lime squeezer for my drinks that require fresh lime juice. My wife uses both of them as she uses a lot of lime and lemon in our nightly cooking.
To use it all you do is slice the lemon or lime in half and place it in the bottom concave portion of the squeezer. Then, you simply apply pressure on the handles and squeeze the top convex section into the concave section. The bottom portion of the concave section has a series of holes that the juice travels through and into your measuring glass or right onto your food. I think the best feature of this gadget is that there is no mess involved and the juice gets to where you want it to go.
This simple kitchen gadget, with its revolutionary design, is one that we use nearly every day. Once you start using it I’m sure you will find it as productive as we do.
