**This is an old revision of the document!**

Multimedia Workflow on GNU Linux

Whilst you wait for the dependencies to compile and install, you may as well read about workflows on open source.

Slackermedia is a blank canvas. There is not one “right” way to create and use your Slackermedia system. While Slackermedia does divide packages into broad sets, there is no pre-set that says “install this if you want to make music” or “install this if you want to make videos” and so on. The quandry that a new user faces is knowing what major applications to install to meet their artistic needs.

In other words, this chapter contains a bunch of advice, which, as the cliché goes, is the one free thing in this world that no one really wants. You don't really want to read this chapter; you want to get on with using Slackermedia. However, unless you've got experience as a production co-ordinator, this chapter will probably do you some good. Think of it as the green vegetables of Slackermedia and give it a read not because it's all that good, but because it's good for you.

What is a Workflow?

Different disciplines have different methods of creating content, and different people work in unique ways. However, there are common elements from any production to another, and the basic methodology of getting a production from idea to finished product is called the “workflow”.

The term “workflow” refers to the entire process of production, not just what happens in the computer system being used on the project. However, since so much of modern production happens on a computer, the computer workflow is a often a determining factor in how the rest of the production will happen. It is important, therefore, to understand certain unique aspects of the Free Software workflow.

Monolithic vs Modular

Much of the GNU workflow is defined by its inherent modularity. This is very different than the popular tendency to consolidate broad functionality into one “one-stop shop” application. They are two different philosophies that are not really exclusive of one another; it makes sense to keep different tasks confined to specialized applications because this divides work among many applications and makes troubleshooting much easier, but it also makes sense to have an application designed to a specific goal to also include capabilities to complete all the steps required to achieve that goal.

For instance, why include video ingestion and conversion components in a non-linear video editing application when it would make more sense to offer specific importing applications for each different kind of video that an editor might need to import?

On the other hand, including basic video effects in a non-linear editor makes sense, because basic effects are common, and they can require frequent adjustment, and their inclusion saves the need for a round-trip out to another application.

Same goes for photographic applications; if a photographer works in realistic photos, then watercolour emulation and fancy effects are just so much bloat.

As you can see, there are many times when the modular approach makes more sense than the monolithic. There is an immediate convenience sometimes with the monolithic; depending on how well-structured your workflow is, you may find yourself confounded when you suddenly have to find a new application to do a task that you'd never had to do before. While in a monolithic application, the solution to that may be found in a sub-menu of the sub-menu of a menu, in the modular approach you may be faced with no hint or indication of where to turn.

However, these are mere growing pains that are eliminated once you've found the solution; they tend to happen only once: the first time you are faced with the issue that requires a new solution. And in the mean time, you have no need to deal with bloated software with more menus and features than you can ever hope to either understand or use.

Finding a New Workflow

It's important that you approach your workflow carefully and deliberately when setting up your multimedia studio. Simply throwing together a collection of applications that are tagged as “multimedia” or “graphics” or “audio” is not the correct solution in GNU Linux any more than it is on blackbox vendor software. The artists knows best what they need from a computer, so the artist should determine what should be on the computer in order to get the work done.

If you have never served as a producer (or in software terms, “project manager”) before, then this concept may be new to you, so we will review it here.

  1. List all of the major tasks you are expecting to do on the computer system. Use general, broad terms here, such as “edit video”, “retouch photos”, “motion graphics”, “clean up audio”, and so on.
  2. foobaz
  3. Do a second pass of this list for the specific steps involved in each major task you wrote down for the first step. For example, a video editor might list:
  Edit Video
  Log footage
      Review all footage with video player with variable speed control and
      spreadsheet for notes
  Capture
      Capture video from tape or drive
  Organize
      Organize by scene number and take number
  Edit
      Video editor with sync sound and color correction tools
  Print
      Export full quality for director's approval
  Edit
      Re-edit, rinse and repeat
  Motion Graphics
  Spec
      Get initial sketches from director
  Create
      Create graphic sources with graphic applications
  Animate
      Do first draft of motion graphics
  Render, Export
      Export low res version for approval
  Render, Deliver
      Do full quality render, deliver for integrate into final edit

3. Now do a third pass of your list and assign known software applications to

  each task. If you are familiar with only the mass-market blackbox
  applications, then list these. If you know some Free Software solutions as
  well, then list those. If you are uncertain what application addresses a
  list item, then do not make an assumption or guess; list it as something
  that requires more research.

4. Do some research to learn what application will address each list item.

  Make sure that everything you know you need to do can effectively be
  achieved with what is available to you. Be prepared for many different
  applications to surface in the Free Software world; due to the modular
  nature of its design, it's only natural that there will be a software
  application just capture video from a deck, or a separate application from
  your graphic design application just to change color space and compression
  settings, and so on.

5. Look for ways to automate your workflow. If there are repetitive tasks that

  you may have had to do one-by-one in your old non-Free workflow, you should
  look at these tasks in a new light. Quite possibly there will be scripts
  that you can write (or find someone to help you write) that can be run on
  your Free Software system to automatically perform adjustments or
  processing without any intervention from you.

6. With the help of Slackermedia, build your Slackware GNU Linux system

  according to the requirements you have specified in your list.

7. Gather raw material. This is a step that is easy to overlook in Free

  Software because it is not often addressed, but the fact that many of the
  vendors providing the non-Free applications package gigabytes of extra
  content for you to use in your work means that whenever the artist needs
  something random like a cursive font or a paint brush shaped like an oak
  leaf or a bear paw print, or a music loop of South American drums, or a
  high-res sand-texture, and so on, the artist has it available to them
  within a few clicks.
  Note
  Free Software lacks the luxury of having gigabytes of licensed content to
  ship along with their software. Again, this is a double-edged sword that
  has the benefits of cutting download size by orders of magnitude, and also
  fights the pre-fabricated feel of art produced on Free Software as opposed
  to the off-the-shelf solutions, but means that when you do need some extra
  raw materials, you must go out and find the content yourself.
  Sites like flickr.com , freesound.org , and openclipart.org are veritable
  bastions of free culture, offering Creative Commons content for easy
  download.
  To further address this need, the Slackermedia project itself gathered
  supporters from around the globe to do an initial crawl of the Internet to
  find free raw materials for artistic endeavor (such as fonts, clip art,
  sound banks, and so on). The content can be found as a torrent file on the
  Slackermedia.info website.

Sample Workflows

Only you know your specific needs, but sometimes it helps to get an idea of how other people work. Here are some sample workflows to get you going in the right direction:

Video Editing

Log footage

Use Dolphin and Mplayer to review and use Dolphin to organize and name your
footage; this gives you the advantage of having filenames that match their
content, regardless of what video editing application the clips are being
used in.

Editing

Use Kdenlive for its robust editing features, transitions, effects, colour
correction, and even basic compositing (chroma keying, etc).

Titling

For quality titles, use Blender for its ability to integrate 3d space into
motion graphics and titling and overlays. Its learning curve might make it
impractical for quick and basic titling.

The animation program Synfig Studio will also do titles and effects,
although a learning curve applies here as well.

If your titling needs are basic, use GIMP, Inkscape, or even Libre Office
to create high-quality .png or .tif files and import them as images into 
Kdenlive.

Audio Correction

For minor corrections (lips smacking, pop removal, plosive softening, etc),
open a sound file in Audacity and correct the problems. Your changes will
update automatically in Kdenlive.

Soundtrack, Soundmix

After you obtain picture lock, start the sound mix on either Ardour or 
Qtractor. To do this, export each individual track from Kdenlive and import
them into the DAW of your choice. When the mix is finished, export a final
mix and re-import that into Kdenlive for final output.

Visual Effects

Export scenes as image sequences and import them into Blender for some of
the industry's most powerful compositing, particle emulation, 3d modeling,
and other visual effects.

Final Render

Kdenlive offers uncompressed output in the form of huffYUV/PCM, as well as
compressed output to all major formats (xvid, mp4, ogg theora, webm, h.264
via x264, and more). For customized compression schemes, use ffmpeg
directly.

Always export an uncompressed final version of your work first. View it for
quality assurance. Upon approval, label it Goldmaster and then generate
compressed versions as needed.

Audio Production

DAW

Use Ardour or Qtractor or Rosegarden as the main hub of the audio
production.

Note

If you're doing basic audio editing, then Audacity may be all you really
need.

Waveform Editing

Use Audacity, which specializes in waveform editing, for cleaning audio,
removing clicks and pops and plosives, and so on. If you edit the original
file then the changes you make in Audacity will update automatically in
your DAW.

Effects

Effect packages include the Steve Harris LADSPA collection, the Calf suite,
and Jamin. The Steve Harris set act as plugins to your DAW, while Calf can
be used as plugins or as an external application, and Jamin is external
only.

Synths

Any DSSI software synth can be used as a plugin for your DAW, and synths
like amSynth and QSynth are external synths that can be routed into your
DAW. There are many soft synths available.

Drum Machines

The premier dedicated drum machine on Linux is Hydrogen, which can be used
as an external application routed into your DAW.

Samplers

Linux Sampler is the primary sampling engine for Linux and can be routed
into your DAW.

Mastering

Once your sound has been mixed to near-perfection, plug Jamin into your
master output channel. With Jamin's powerful compressor, you can adjust
final output levels. With its customizable EQ, you can ensure optimal sound
for different types of speakers.

Once you're finished mastering, export your work as final, uncompressed
gold masters.

Graphic Design and Print

Layout

Use Scribus as the central hub for bringing together the different elements
in a layout. Scribus is a powerful layout program, good for books,
pamphlets, posters of any size, banners, single pages, album art, and
anything else going out to CMYK printers. It is resolution-independent, can
track and embed fonts and color swatches, produce reader and printer
spreads, and much more.

Graphics

Use GIMP to create or adjust rasterized (bitmap) images. It's not, in spite
of the cliché, a Photoshop clone; it has a language and structure all its
own, but once it's learned it is a powerful imaging environment.

Illustration

Use Inkscape for vector-based graphics such as logos, illustration,
sketches, or even page layout or over-all design, quick mock-ups, and much
more. It can also embed or link to rasterized images, perform masks, and a
number of advanced imaging functions that will tempt you to make it the
center of your graphic production.

Krita is also vector-based but focuses more on materials emulation, making
is a powerful tool for trained illustrators.

MyPaint lies somewhere between Inkscape and Krita, with a dynamic brush set
that interacts nicely with tablets.

Finally, the Gimp Paint Studio set of mods for GIMP will provide material
emulation for GIMP, but as rasterized images only.

Conversion

For colorspace or format conversion, or batch processes that you repeat
frequently in your workflow, the command line application Image Magick (or
its variation Graphics Magick) is priceless. It can be complex but the
website and the internet at large offer enough recipes and examples to make
most common tasks trivial to learn.

Font Management

Font Matrix activates, deactivates, sorts, and previews your system's
fonts.

Photography

Digital Darkroom

Professional photographers may use Digikam as a photograph manager and
digital darkroom with the usual powerful set of features associated with
most KDE applications. The Kipi plugin set adds to its features. And yes,
it does RAW, too.

For HDR photography, there is Luminance HDR (formerly qtpfsgui), which
creates an HDR file from a set of images of the same subject taken at
different exposures. Supports basic editing of images plus tonemapping.

Everything Else

See the Graphic Design list for tools relating to image re-touching,
design, and presentation.

Web Design

Coding

Use GNU Emacs or vim as your text editor; both are popular coding
environments and each have a variety of modes that will do everything from
syntax highlighting to auto-completion and even rudimentary code
validation.

Kate is a more traditional text editor, with a visual list of open
documents, syntax highlighting, organization of code blocks, and more.

Previewing

Between Firefox, Rekonq, and Chromium, there is little to be desired when
test-driving website designs. Rekonq has a user-agent switcher built-in and
the other two have user-agent plugins available.

Install the Firebug addon for Firefox to analyze how browsers are rendering
your code and to catch problems in your code's structure.

Graphics

See the Graphic Design list for tools when creating graphics for sites.

FTP

Konsole is a one-stop shop for everything you need to push your changes to
the web server. With ssh and rsync, pushing your latest code can be done in
a single command.

ncftp is a traditional FTP client, featuring bookmarks for locations,
usernames, and passwords. If you do not have ssh access to the server, this
is the next best thing.

If you prefer a GUI solution, try FileZilla, a simple and convenient FTP
application. Or just use Dolphin, which seamlessly integrates with remote
servers as easily as it does your own computer!

Version Control

Git, the version control system used for little projects like the Linux
kernel, the KDE desktop, this book, and much more, can manage all of the
changes you make to your codebase, and restore from old versions as needed.
A powerful tool that is simply not even on the radar of any proprietary web
coding solution.