Pages

Thursday, 22 June 2017

MAGIX Video Pro X (2017 edition) review

http://www.magix.com/gb/video-pro-x/
£349 (399.99 Euros)
[Currently (June 2017) on offer at: £299]
Upgrade from previous version: £149 (199.99 Euros)

If you need a good video-editing package for Windows, the latest release of Video Pro X from MAGIX software is something that you may want to consider. It’s a nice-looking, easy-to-use package that lets you import video and audio clips, edit them on a multi-track time-line, apply transitions and video effects and export the final movie in various common formats. For a broad overview see my review of the previous release, Video Pro X 8. Contrary to expectations, this new release is not called Video Pro X 9. The number has now been silently omitted. This is now just plain Video Pro X. More on that later…



The main new feature in this version is something called ‘deep colour grading’. Colour grading is a post-production process for altering the overall appearance of your video by changing the colours. This may involve ‘colour correction’ (adding warmth to the colour of a video made using cold-looking studio lighting, for example) as well as effects to  make the videos look more vibrant or subdued or to give them the look of certain types of traditional film stock. This is what MAGIX has to say: “Colour-true processing of material is carried out by precise measuring instruments: vectorscope, waveform monitor, histogram and RGB parade. The software supports all formats from the professional and consumer sector such as ProRes, HEVC 10-Bit, AVC and MPEG-2. Thanks to new support for lookup tables (LUT) in Video Pro X, it can sync flat recordings with LUTs from the camera manufacturer or upload cinematic effect LUTs to create unique film styles. Lookup tables save colour grading information and can easily be imported and applied, or custom created and saved.”

Here I’ve applied one of the (admittedly fairly extreme) Lookup Table colour effects to a clip. The original clip is on the right. The one with the colour effects applied is on the left.
Colour grading can be a fairly specialised area of video processing and high-end professional users may use a combination of expensive software and hardware (editing and mixing panels) for this job. By integrating a useful range of colour correction tools, Video Pro X seems to be trying to appeal to the ‘mid range’ professional video-maker. However, you need to be aware that, in spite of heavy promotion of this feature, Video Pro X does not provide a completely new ‘Colour Grading’ toolset (as I was expecting). Instead, the existing colour manipulation effects such as brightness/contrast, Colour, Colour Correction and Shot Match (the ability to automate make two video adopt the same range of colours and tonal values) have all been updated to provide greater (16-bit) colour accuracy. There are also sets of predefined colour schemes called ‘lookup tables’ which let you quickly apply to a clip a set of colour values with names such as ‘Cinematic’, ‘Neo’ and ‘Vintage’.

The other principal changes to this release of Video Pro X are support for more video formats such as H.264 and HEVC/H.265; more control over audio processing for sound mixing and audio restoration; and various new effects including some new blurs and masks that can be ‘attached’ to moving images. It also does 360 degree ‘video stitching’ and exporting, assuming you have a camera capable of recording 360 degree videos.

As I mentioned earlier, Video Pro X no longer uses version numbers. The idea is that rather than release a mass of updates all at once, when a new version is released, updates will be made incrementally as the software continues to be developed. The purchaser gets all new updates at no additional cost for one year. After that, you can carry on using your existing version but you will only get updates if you extend your ‘Update Service subscription’ at an additional cost.  That cost is, in my view, rather high at £149 (199.99 Euros). I can’t say I’m terribly keen on this subscription model. When software is upgraded with a numbered release you should usually expect to see a definitive list of fairly substantial changes and you can then make an informed decision on whether or not the upgrade cost is worth it. By signing up to a ‘trickle through’ system of updates you have no real idea whether you are paying for major new features or just minor changes and bug fixes.

The other thing I dislike about this ‘non-numbered’ update system is that new versions of the software overwrite older versions. If you have an older version that works and that you are happy with, that means that you cannot keep that installation while you evaluate a new release. I experienced a problem with this myself. When I installed the latest version, it failed to activate successfully online. I had to consult MAGIX technical support to find out how to remove an initialisation file in order to uninstall and reinstall the software and activate it as required. If a user had a similar – or even more catastrophic – problem with installation, there would be no way to revert back to the older release while that problem was solved because the new installation automatically removes any previous release. I think that’s essentially undesirable.

MAGIX often has special deals and added extras on offer. At the time of writing, a bundle is offered including 3rd part effects such as the HitFilm Toolkit pack which I am using here to enhance skin tones.
So, in short, how does this latest release compare with the previous one? Is it worth upgrading? The only ‘big’ new feature in this release is the integrated colour grading. Now, I don’t mean to underestimate the importance of this. If you want more control over colour temperature, saturation and so on, well, this will give it to you. And for artistic video-making – for example, if you want to convey mood and drama in your videos – that’s a good thing to have. But if that is not of compelling interest to you, then it seems to me that this new release is a bit thin on exciting new features.

Summary


Video Pro X is a good general-purpose video editing application that (depending on your perspective) sits at the high end of the ‘serious amateur’ or low end of the ‘professional’ calibre products. MAGIX also markets the VEGAS video-editing suites, which it acquired from Sony (see my reviews of VEGAS Pro Edit 14 and VEGAS Movie Studio). As I’ve said previously, this large range of competing editions is confusing. It’s confusing to me and I can only assume it must be equally confusing to most potential customers. The various editions of VEGAS range from beginner to advanced level. It appears that the high-end VEGAS editions are now considered to be the more professional-level of the offerings from MAGIX since ‘upgrade’ deals are offered from Video Pro X to VEGAS Pro Edit ($199) or VEGAS Pro ($299).

Video Pro X is pretty easy to use and has a decent range of features. Personally, I’d be happy to use it for most video-editing projects. As for the value of the new additions, though, that all depends on how much you need ‘deep colour grading’. If you don’t feel any compelling need for this feature, then this new release may seem somewhat underwhelming.


Tuesday, 6 June 2017

C Programming for Beginners: Variables and Types

This is part 3 of my series on C programming for beginners.

See also: part 2.

When you want to store values in your programs you need to declare variables. A variable is simply a name (more formally, we’ll call it an ‘identifier’) to which some value can be assigned. A variable is like the programming equivalent of a labelled box. You might have a box labelled ‘Petty Cash’ or a variable named pettycash. Just as the contents of the box might vary (as money is put into it and taken out again), so the contents of a variable might change as new values are assigned to it. You assign a value using the equals sign (=).

In C a variable is declared by stating its data-type (such as int for an integer variable or double for a floating-point variable) followed by the variable name. You can invent names for your variables and, as a general rule, it is best to make those names descriptive.

This is how to declare a floating-point variable named mydouble with the double data-type:

double mydouble;

You can now assign a floating-point value to that variable:

mydouble = 100.75;

Alternatively, you can assign a value at the same time you declare the variable:

double mydouble = 100.75;

FLOATING-POINT NUMBERS


There are several data types which can be used when declaring floating point variables in C. The float type represents single-precision numbers; double represents double-precision numbers and long double represents higher precision numbers. In this course, I shall normally use double for floating-point variables.

INTEGERS AND FLOATS


Now let’s look at a program that uses integer and floating point variables to do a calculation. My intention is to calculate the grand total of an item by starting with its subtotal (minus tax) and then calculating the amount of tax due on it by multiplying that subtotal by the current tax rate. Here I’m assuming that tax rate to be 17.5% or, expressed as a floating point number, 0.175. Then I calculate the final price – the grand total – by adding the tax onto the subtotal. This is my program:

#include <stdio.h>

int main(int argc, char **argv) {
int subtotal;
int tax;
int grandtotal;
double taxrate;

taxrate = 0.175;
subtotal = 200;
tax = subtotal * taxrate;
grandtotal = subtotal + tax;

printf( "The tax on %d is %d, so the grand total is %d.\n",
subtotal, tax, grandtotal );
return 0;
}

Once again, I use printf to display the results. Remember that the three place--markers, %d, are replaced by the values of the three matching variables: subtotal, tax and grandtotal.

When you run the program, this is what you will see:

The tax on 200 is 34, so the grand total is 234.

But there is a problem here. If you can’t see what it is, try doing the same calculation using a calculator. If you calculate the tax, 200 * 0.175, the result you get should be 35. But my program shows the result to be 34.

This is due to the fact that I have calculated using a floating-point number (the double variable, taxrate) but I have assigned the result to an integer number (the int variable, tax). An integer variable can only represent numbers with no fractional part so any values after the floating point are ignored. That has introduced an error into the code.

The error is easy to fix. I just need to use floating-point variables instead of integer variables. Here is my rewritten code:

#include <stdio.h>

int main(int argc, char **argv) {
double subtotal;
double tax;
double grandtotal;
double taxrate;

taxrate = 0.175;
subtotal = 200;
tax = subtotal * taxrate;
grandtotal = subtotal + tax;

printf( "The tax on %.2f is %.2f, so the grand total is %.2f.\n",
  subtotal, tax, grandtotal );
return 0;
}

This time all the variables are doubles so none of the values is truncated. I have also used the float %f specifiers to display the float values in the string which I have passed to the printf function. In fact, you will see that the format specifiers in the string also include a dot and a number numbers like this: %.2f. This tells printf to display at least two digits to the right of the decimal point.

You can also format a number by specifying its width – that is, the minimum number of characters it should occupy in the string. So if I were to write %3.2 that would tell printf to format the number in a space that takes up at least 3 characters with at least two digits to the right of the decimal point. Try entering different numbers in the format specifiers (e.g. %10.4f) to see the effects these numbers have. Here are examples of numeric formatting specifiers that can be used with printf:

NUMERIC FORMAT SPECIFIERS


%d   print as decimal integer
%4d   print as decimal integer, at least 4 characters wide
%f   print as floating point
%4f   print as floating point, at least 4 characters wide
%.2f   print as floating point, 2 characters after decimal point
%4.2f   print as floating point, at least 4 wide and 2 after decimal point


This series of C programming lessons is based on my book, The Little Book Of C, which is the course text for my online video-based course, C Programming For Beginners, which teaches C programming interactively in over 70 lessons including a source code archive, eBook and quizzes. For information on this courses see HERE.

Tuesday, 18 April 2017

Advanced C Programming – Pointers. NEW COURSE!

Get this $95 course for just $15.

Pointers. In C, there is just no getting away from them. Understanding and being able to use pointers correctly (and safely) – well, it’s the difference between a professional programmer and an amateur. But pointers are really difficult to use. Aren’t they?

The fact of the matter is, they needn’t be. If you understand them. And that’s what my new course is all about. “Advanced C Programming: Pointers” explains pointers from the ground up. What exactly is a pointer variable and how does it work with addresses in memory? What is indirection? How can you avoid common pointer problems such as memory leaks and program crashes?

Topics covered include:

  • Pointers and addresses
  • Indirection and multiple indirection
  • Pointers and arrays
  • Pointers to structs
  • Data-type alignment
  • Generic pointers and casts
  • Null pointers
  • Memory allocation and reallocation
  • Freeing memory safely
  • Pointer arithmetic
  • Singly and doubly linked lists
  • Queues and stacks
  • Pushing and popping
  • Function pointers
  • Deep and shallow copying
  • Common pointer errors

…and much more

NOTE: This is not a course for beginners. It is aimed at programmers who already have a good working knowledge of C programming and who need to take the next step in mastering C by gaining a deep understanding of pointers. (If you are a beginner, you should sign up to my C Beginners Course first).

Course contents:

  • 58 Lectures
  • Over 3.5 hours of video instruction
  • Downloadable source code of all examples
  • Quizzes and course notes
  • Lifetime access

----------------------------------------------------
Advanced C Programming: Pointers
Regular Price: $95
Sign up today for just $15
https://www.udemy.com/advanced-c-programming-pointers/?couponCode=BWCPOINTERS
----------------------------------------------------
(Offer runs until end of May, 2017)


Wednesday, 5 April 2017

NetBeans Day - in London!

If you are a fan (as I am) of the cross-platform, multi-language programmer's editor/IDE, NetBeans, then you may be interested in the forthcoming NetBeans Day event at The University of Greenwich on Tuesday, 25th April 2017.The free day will include a wide range of talks related to cutting edge Java and JavaScript technologies and tools, both for beginners and experts alike.

This is the line-up:

10:00 - 10:30: News from the NetBeans Community (Geertjan Wielenga)
10:30 - 11:00: 
Graal: A Polyglot VM for a Polyglot IDE (Chris Seaton)
11:00 - 12:00: NetBeans 101 (Zain Arshad & Mark Stephens)
12:00 - 13:00: Lunch & Networking
13:00 - 14:30: Workshops (The two below will run in parallel, you'll need to choose!)
 - Baking a Java EE 8 Micro Pi (Andrew Pielage & Mike Croft)
 - Diving into the Newest Jigsaw and Java 9 Features (John Kostaras, Geertjan Wielenga)
14:30 - 15:00:
 Tea & Networking
15:00 - 16:30: Workshops (The two below will run in parallel, you'll need to choose!)
- Rapid JavaScript Development with Enterprise Technologies (Geertjan Wielenga)
- Extending NetBeans IDE (Zain Arshad, Mark Stephens, Neil Smith) 
16:30: Wrap Up and Prizes


There are very few spaces left so if you want to go be sure to register NOW!
https://www.eventbrite.co.uk/e/netbeans-day-2017-registration-32048704538

Tuesday, 4 April 2017

Media 100 - Mac video editor, now free!

Media 100 Suite, a well-established video editing suite for the Mac is now available free. This news was just announced by MacVideo Promo, a company that specializes in deals on Mac software, in partnership with Media 100's developers, Boris FX.

According to the press release, key features include: "4K/2K/HD Video Editing with Professional Video I/O Support Media 100 supports dozens of video standards in 4K, 2K, HD, and SD resolutions at frame rates from 23.98 to 60 frames per second. Acquisition interfaces for AVCHD, AVC-Intra, FireWire, Panasonic P2, and Sony XDCAM are provided as well as support for AJA and Blackmagic Design video I/O interfaces.


"Boris RED: Professional Transitions and Titling The Boris RED plug-in for Media 100 is included free with each Media 100 download. Boris RED is integrated 3D titling and visual effects software that launches a user-friendly custom interface directly from the Media 100 timeline for advanced title animation and effects.

"Eye Scream Factory’s 100 Essential Transitions Each free Media 100 Suite download includes Eye Scream Factory’s “100 Essential Transitions” package, a $49.95 value. 100 Essential Transitions features a variety of designer transition effects ranging from the familiar to the inspired, including Artistic Dissolves, Glow Dissolves, Luma Dissolves, PullSwaps, Rays Dissolves, and Wipes. Editors can tap into a variety of looks featuring glints, lens flares, waves, ripples, and DVE effects. The customizable transitions can be applied at any duration."

Download the software from: https://www.media100.com/

Tuesday, 7 March 2017

VEGAS Movie Studio 14 Platinum review

VEGAS Movie Studio 14 Platinum $79.99 (£69.99)

http://www.vegascreativesoftware.com/us/vegas-movie-studio-platinum/

VEGAS Movie Studio 14 is a low cost video editing package that provides the essential functionality of MAGIX’s more expensive VEGAS Pro software. The entry-level product costs $49.99 while the more powerful Movie Studio Platinum (which I am reviewing here), costs just $79.99.


In common with the more expensive VEGAS Pro video editing package, Movie Studio lets you create videos by importing clips onto a multi-track timeline where you can edit them by cutting, copying, pasting and trimming them. You can merge one clip into another by adding a range of fades and transitions. And you can also apply a large range of video effects to alter colour and brightness, glows, lens flares, pixilation effects and so on. The transitions and effects are arranged in a panel at the top-left, a previewer is shown to its right and the timeline is docked underneath. As with VEGAS Pro, multiple effects can be added to a single clip and when you do this they are arranged as a linked list or ‘plugin chain’ which can be shown in a popup dialog. Here you can delete unneeded plugins or select a specific effect from the chain in order to edit its parameters.

You can render videos in a large range of formats suitable for internet, mobile devices, DVD or viewing on desktop computer
Other essential features of Movie Studio include the ability to pan and crop videos to zoom in and out or move the viewing area up or across a video clip; you can record and edit audio tracks and apply effects such as reverb and distortion or apply an audio restoration filter to remove unwanted clicks or background noises; and when you are finished you can create your final video either by selecting the ‘Make a movie’ option (the simplest way) or by producing the video in a large number of rendering formats such as Quicktime, Video For Windows and MPEG-2, each of which provides a large range of options to tailor the output.

There are a few new features in this latest release such as ‘hover scrub’ editing – that is the ability to select and trim clips simply by moving the mouse over a popup video preview; there is a multi-camera editor to help you edit together clips taken simultaneously with more than one camera; and various new video effects and transitions have also been added. As an extra bonus, all editions of Movie Studio now come with a separate music editing application called Music Maker. This lets you record and edit music either by ‘playing’ an on-screen keyboard or mixing together pre-recorded sounds (‘loops’) on a multi-track timeline, editing them in much the same way you would edit video clips in Movie Studio. As the stand-alone edition of Music Maker costs around $60, this is a pretty good deal. The software provides a limited range of instruments and loops as standard and you can buy more if you need them. If you want to add royalty-free music to your videos (even if you aren’t a musician!) this is a pretty good way of doing so.

There is even a music-making program supplied as an added extra. This lets you make music tracks even if you can’t play an instrument!
Overall, Movie Studio Platinum is a good video editing product for serious amateurs or even professionals on a tight budget. Its interface can be a bit over-fussy (all those popup dialog boxes – see my review of VEGAS Pro) so it is not, in my view, as easy to use as MAGIX’s other video editor, Video Pro X. Even so, at a price of around $80, it packs a lot of punch and is great value. If you decide that this is the program for you, I would recommend that you get the Platinum or Studio edition rather than the slightly cheaper entry-level edition. The entry-level version omits some important tools such image stabilization and colour correction, multi-camera editing and hover-scrubbing, it lacks the ‘DVD Architect’ for burning DVD and Blu-ray discs and its timeline is limited to 10 video tracks (rather than the Platinum’s 200).  Given the fact that there is only a $30 difference between the price of the entry-level and Platinum editions, I’d say that opting for the Platinum would be $30 well spent!


The VEGAS range – spoilt for choice?

MAGIX has a bewildering range of video editing software. In addition to its well established Video Pro X, it has now released two separate ranges of VEGAS video editing packages. In theory, the high-end range, VEGAS Pro, is aimed at professional users while the less expensive VEGAS Movie Studio range is aimed at novices and amateurs. However, this distinction is not entirely clear-cut. Gary Rebholz  (MAGIX Software Product Owner) explains that “VEGAS Movie Studio Platinum is a great next step, which introduces pro-level features and techniques.” At any rate, this is a list of the full VEGAS range:

  • VEGAS Movie Studio 14 $49.99
  • VEGAS Movie Studio 14 Platinum $79.99
  • VEGAS Movie Studio 14 Suite $139.99
  • VEGAS Pro 14 Edit $399
  • VEGAS Pro  14 $599
  • VEGAS Pro Suite 14 $799

As you would expect, the range of editing features and addins (such as 3rd party effects) is more limited in the cheaper packages than in the more expensive editions. In fact, it’s bit more complicated than that. For example, the top of the Movie Studio range (Movie Studio Suite) seems to have some things that are missing from the bottom of the VEGAS range such as NewBlue Titler Pro Express plugin (which is not in VEGAS Pro 14 Edit). In addition, while the low-cost Movie Studio products include a copy of the Music Maker application, the higher cost VEGAS Pro products do not. At any rate, even by making a close comparison of the product features (see the Movie Studio http://www.vegascreativesoftware.com/us/vegas-movie-studio/product-comparison and VEGAS Pro feature comparison charts http://www.vegascreativesoftware.com/us/vegas-pro/product-comparison), it is by no means easy to determine which edition provides the best mix of features in its price range. To be honest, I think the mix of features spread across six alternative editions is confusing. In my opinion, six editions is a few editions too many.

Wednesday, 1 March 2017

Getting Started with C Programming

In the last article in this series, I gave a quick overview of the C programming language and showed how to write a very simple program. Here I will explain how to pass arguments to your programs and display formatted strings.

See also: part 3.

Passing Arguments

To pass values to the program, you can just run the program at the command prompt and put any arguments after the name of the program itself, with spaces between each item. For example, if I wanted to pass the arguments “hello” and “world” to a program called HelloWorldArgs.exe (on Windows) or HelloWorldArgs.app (on OS X) I would enter this at the command prompt or Terminal:

HelloWorldArgs hello world

We’ll assume that the program has a main() function with argc and argv arguments like this:

int main(int argc, char **argv)

My program ‘receives’ the two bits of data (the strings “Hello” and “world”) which I entered after the program name itself and it stores them in the second argument, argv. The first argument, argc is an automatically calculated value that represents the total number of the arguments stored in argv. This is the program code:

int main(int argc, char **argv) {
int i;
for (i = 0; i < argc; i++) {
 printf("Hello World! argc=%d arg %d is %s\n", argc, i, argv[i]); }
return 0;
}

When I pass the program the two arguments: hello and world, this is the output which is displayed:

Hello World! argc=3 arg 0 is 03_HelloWorldArgs
Hello World! argc=3 arg 1 is hello
Hello World! argc=3 arg 2 is world

This shows that the count (argc) of arguments is 3 even though I have only passed two arguments. That’s because the program name itself, HelloWorldArgs, is automatically passed as the first argument. The first argument here has the index number 0. The arguments at index 1 and 2 are the arguments that I passed to the program: hello and world.

Note: the two asterisks before argv are important:

char **argv

They indicate that argv is a list of strings. Strictly speaking argv is an ‘argument vector’ or a pointer to an array of character-string arguments.

The block of code that starts with the keyword for is a loop that causes the code that follows it, between the curly braces, to execute for a certain number of times. Here the code executes for the number of times indicated by the value of the argc argument). The printf statement prints the string "Hello World! argc=%d arg %d is %s\n" and it substitutes the values of argc, i, argv[i], at the points marked by %d, %d and %s in the string. At each turn through the for loop the string at the index i in the argv array is printed.

puts and printf

There are several functions that can be used to display (print) information when your C programs run. Both printf and puts, can display a simple string.

printf("hello world\n");
puts("hello world again\n");

The printf function also allows you to embed ‘format specifiers’ into a string. A format specifier begins with a % and is followed by a letter: %s specifies a string. %d specifies a decimal or integer. When format specifiers occur in the string, the string must be followed a comma-delimited list of values. These values will replace the specifiers in the string. The programmer must take care that the values in the list exactly match the types and the number of the format specifiers in the string otherwise the program may crash. Here is an example:

printf("There are %d bottles standing on the %s.\n", 20, "wall\n" );

When run, the code produces the following output:

There are 20 bottles standing on the wall

Comments

It is a good idea to add comments to your programs to describe what each section is supposed to do. C lets you insert multi-line comments between pairs of /* and */ delimiters, like this:

/* This program displays any 
 * arguments that were passed to it */

In addition to these multi-line comments, modern C compilers also let you use ‘line comments’ that begin with two slash characters // and extend to the end of the current line. Line comments may either comment out an entire line or any part of a line which may include code before the // characters. These are examples of line comments:

// This is a full-line comment

for (i = 0; i < argc; i++) // this comment follows some code




This series of C programming lessons is based on my book, The Little Book Of C, which is the course text for my online video-based course, C Programming For Beginners, which teaches C programming interactively in over 70 lessons including a source code archive, eBook and quizzes. For information on this courses see HERE.

Friday, 10 February 2017

Visual Studio 2017 Launches March 7th

The latest version of Microsoft's powerful multi-language Windows-based programming environment, Visual Studio, is launched on March 7th, 2017. For more information see this Microsoft blog post: https://blogs.msdn.microsoft.com/visualstudio/2017/02/09/visual-studio-2017-launch-event-and-20th-anniversary/ - For more technical details (and a download of the release candidate if you can't wait for the finished version) to to: https://www.visualstudio.com/vs/visual-studio-2017-rc/

Friday, 3 February 2017

Introduction to C Programming

This is the first in a series about the basics of programming in C. These lessons are taken from my book, The Little Book Of C, which is the course text for my online video-based course, C Programming For Beginners, which teaches C programming interactively in over 70 lessons including a source code archive, eBook and quizzes. For information on this courses see HERE.

What is C?


C is a general-purpose compiled programming language. It was first developed by Dennis Ritchie in the late ‘60s and early ‘70s. The C language is widely used for all kinds of programming: everything from general-purpose applications, programming language tools and compilers – even operating systems. The C language is also widely used for programming hardware devices.

A C compiler (and an associated tool called a ‘linker’) is the program that translates your source code (the text you write in an editor) into machine code that is capable of being run by your operating system. C compilers are available for all major operating systems including Windows, OS X and Linux.

Editors and IDEs


In order to write C code you will need a programming editor or IDE (Integrated Development Environment) and a C compiler. For beginners, I recommend the CodeLite editor which is freely available for several operating systems: http://codelite.org/ However, if you already use an editor or IDE that supports C programming, that’s fine. Suitable IDEs include NetBeans, Microsoft Visual Studio, Code Blocks and many others.

Once you have a C compiler and a C source code editor installed you are ready to start programming in C.

Hello World


This is the traditional “Hello World” program in C…

#include <stdio.h>

main() {
printf("hello world\n");
}

This program uses (that is, it ‘includes’) code from the C-language ‘standard input/output library, stdio, using this statement:

#include <stdio.h>

The code that starts with the name main is the ‘main function’ – in other words, it is the first bit of code that runs when the program runs. The function name is followed by a pair of parentheses. The code to be run is enclosed between a pair of curly brackets:

main() {

}

In this case, the code calls the C printf function to print the string (the piece of text) between double-quotes. The “\n” at the end of the string causes a newline to be displayed:

printf("hello world\n");


The anatomy of a C program


This shows the essential features of the simple ‘Hello world’ program…


The program above could be rewritten like this:

#include <stdio.h>

int main(int argc, char **argv) {
printf("hello world\n");
return 0;
}

In fact, if you create a new C project using the CodeLite environment, the code above will be generated automatically. When this program is run, you will see no difference from the last program – it too displays “Hello world” followed by a newline. The main differences are that this time the name of the main function is preceded by int. This shows that the function returns an integer (a full number) when it finishes running. The number 0 is returned in the last line of the function:

return 0;

This return value is unlikely to be of any significance in your programs and, for the time being at any rate, you can ignore it. By tradition, a value of 0 just means that the program ran without any errors. Any other value might indicate an ‘error code’.

The other difference is that this program contains two ‘arguments’, called argc and argv, between parentheses:

int main(int argc, char **argv)

 These arguments may optionally be initialized with values passed to the program when it is run. I’ll shown an example of this in the next lesson.

Tuesday, 17 January 2017

VEGAS Pro Edit 14 Review

http://www.vegascreativesoftware.com/

The is the first new release of VEGAS since MAGIX bought it from Sony early in 2016. In spite of its new ownership, the software looks and works pretty much the way it did when it was owned by Sony. There have been only very minor changes to the look of the user interface such as some slightly redesigned icons. Apart from that, if you are accustomed to an older version of VEGAS (see for example my review of version 11 of VEGAS Movie Studio from 2011), then you should feel very much at home with this new release.



VEGAS is a video editing program for Windows. It lets you import and edit video and audio clips by placing them, onto tracks in a timeline area. There you can cut, copy, trim and move the clips. You can add effects, transitions, zooms and pans. And when you are happy with the end results you can create your final video in a large variety of configurable formats.

Scrubbing and Trimming

One of the new features that MAGIX are keen to highlight is the ‘hover scrubbing’ mode in the trimmer window. You can edit individual clips by loading them into the trimmer window where you can preview the clip and cut out a section to create a smaller subclip. By tradition, the trimming is done by selecting regions on a track shown beneath the video preview. By enabling hover scrubbing, you can work much more quickly by simply hovering your mouse from left to right over the video preview in order to scroll rapidly through the clip. When you see an appropriate start-point for your subclip you just click the mouse then carry on hovering until you find a suitable end-point, then click again.

You can hover your mouse over the clip preview to scroll quickly through it.

One curious feature of the Trimmer window is that the popup menu from which you select options is disabled when you turn off hover scrubbing. I spent some time trying to find out how to turn that option on again, but since the appropriate menu no longer popped up, it seemed impossible. Finally I discovered that if I opened up the wave-form track displayed beneath the window, I was able to click on that in order to display the menu. I presumed that the vanishing Trimmer menu was a bug and I have reported it to MAGIX. I am told it will be fixed in a forthcoming update.

If you want to speed up a clip you can do that by adding a ‘velocity envelope’ that now speeds up the clip by up to 40 times. The velocity envelope is shown as a horizontal line on the clip and you can add points to the line to increase or decrease the speed at selected points. The velocity only applies to video, however, and any accompanying audio is not synchronized when changes are made.

High Definition

There have also been a few additions to support high definition and high frame-rate video. For example, if you are working on a 4K video project and you need to include lower resolution video clips, VEGAS can ‘upscale’ those clips to improve their appearance when viewed at a higher resolution than the one in which they were recorded. If you are making slow-motion videos, you can simplify the inclusion of videos recorded at a high frame rate (say 120 or 240 frames per second) into your lower frame-rate videos by selecting the desired playback rate and letting the software automatically calculate the necessary adjustments. Other additions for 4K video include support of Black Magic and RED Digital 4K cameras and rendering in HEVC/H265 video formats.

Plugins

A new Smart Zoom plugin has been added. That lets you select the plugin from a list, then, in a dialog, pick the zoom level and the centre of the zoom to add panning or cropping to a video clip. The Smart Zoom plugin is an alternative to the regular pan/crop tool and it is aimed at preserving the sharpness and resolution of a video when zooming.

At this point, it’s probably worth mentioning that VEGAS makes fairly extensive use of plugins. To use one, you click an icon in a clip on the timeline to pop up the plugin selector. Plugins can do everything from correcting the colour balance to adding blurs, light rays and vignettes. Each plugin comes with its own dialog in which you can set and adjust parameters. When multiple plugins are selected, this creates a ‘plugin chain’ - in effect, a linked list of plugins that are shown at the top of the plugin editing dialog. You can switch from one plugin to another by clicking the button in the chain, then make adjustments as necessary. This is a useful and flexible capability but, especially for a new user, it can be confusing. The problem is that while some plugins are selected from the plugin dialog, others provide video effects which are selected from a docked pane in VEGAS. Those effects are also added to the plugin chain. Each time an effect, or a plugin, is added to the chain, you are obliged to work in a popup dialog. This means you you regularly have to switch ‘modes’ from editing within the integrated environment to working in popup editors - the same is true for pan-and-crop and transitions (blurs, fades and animated effects) between clips: they all come with their own popup editors. Long-time users of VEGAS are, of course, used to working in all these popup editors and probably MAGIX has good reasons for retaining this way of working. Even so, I have to say it seems quite an inelegant way of editing at times.

When multiple effects or plugins are selected, these are added to a ‘plugin chain’ seen at the top of this dialog. Each plugin in the chain can be selected in order to change its parameters. But this does mean that you have to work a great deal in dialog boxes.

By comparison, many of the effects such as zooms and traditions in MAGIX’s other video editing package, Video Pro X (see my review), are added and edited in a docked window so that you can see the effects immediately applied in the preview window alongside. Personally, I prefer Video Pro X’s more integrated approach to VEGAS’s innumerable popup dialogs. Moreover, the entire user interface of Video Pro X is altogether sleaker and more modern-looking than that of VEGAS.

Video rendering speed (when producing your finished video) in VEGAS is unremarkable. It’s always hard to make direct comparisons, since rendering varies greatly according to the hardware, the video output format, the selected options and the video resolution. However, it is certainly the case that VEGAS does not provide rendering at anything like the speed of the fast video rendering of Cyberlink’s PowerDirector (see my review).

VEGAS Editions

VEGAS comes in three different editions: Pro Edit - which is the one I’ve been reviewing ($399), Pro ($599) and Pro Suite ($799). The two higher level products include DVD creation functionality and a number of additional third-party plugins and tools for colour correction, text and title design. The Suite edition also includes Boris FX Match Move and FX Key Blend for enhanced motion tracking and chromakey (green screening). For a full list of features see the product comparison chart http://www.vegascreativesoftware.com/us/vegas-pro/product-comparison.

If VEGAS is beyond your budget, there are also three lower-end editions which are called VEGAS Movie Studio (see the product comparison chart http://www.vegascreativesoftware.com/us/vegas-movie-studio-product-comparison). These have more limited capabilities (fewer effects, a more limited timeline etc.) and this product range is still at version 13 rather than 14.

Overall, VEGAS Pro Edit 14 is a solid performer with lots of editing options for producing pro-quality videos. Its interface is a bit fussy for my tastes, but on the plus side the fact that this remains little changed from earlier versions makes it easily accessible to existing users. In spite of various useful additions to this release, there are no real show-stoppers. My impression is that this first new release from MAGIX is primarily aimed at providing an upgrade to current VEGAS users rather than trying to attract substantial numbers of new users. Given the increasingly competitive market in video editing software, I’d like to see some more substantial innovations in version 15.

Sunday, 15 January 2017

LEARN TO PROGRAM C – Special Deal


Get my best-selling video-based C course – SAVE 80%

73 lessons, plus code and eBook for just $29

THE C LANGUAGE is consistently one of the most in-demand of all programming languages. Good C programmers command some of the highest salaries in the business. But C is a notoriously difficult language to learn. I have already taught C to over 9,500 students online – now I can help you too!

In this course, I take you step-by-step from the basics of C programming right up to advanced topics such as using pointers, buffers, multidimensional arrays, the stack and heap, structs, typedefs, header files, type casts, memory allocation and file-handling.

SIGN UP NOW! Get C Programming For Beginners for just $29:
https://www.udemy.com/c-programming-for-beginners/?couponCode=CBWCDEAL

This is what you get
  • 73 Lectures
  • Over 6 Hours of video instruction
  • 92-page eBook, The Little Book Of C
  • 10 interactive quizzes
  • C source code archive – all the code ready-to-run
  • Lifetime access