Main Page | File List | Globals | Related Pages

Example 9: Create an iKlax File with author mix.

This is a source code example that shows how create predefined mix in an iKlax file.
Note: This file has been developed with KToolLib.

Mixing Constraint Definition

// Add some mix
KBool ktest9_add_mix (KFile* pKFile) {
   KBool bRet;
   k_notnull (pKFile);

   // ==================== //
   // Create the first mix //
   bRet = kmix_create (pKFile, "My First Mix");
   k_check (bRet);

   // Adds track in the mix
   bRet = kmix_addTrack (pKFile, "My First Mix", "Cello");
   bRet = bRet && kmix_addTrack (pKFile, "My First Mix", "Violin");
   bRet = bRet && kmix_addTrack (pKFile, "My First Mix", "Trumpet");
   bRet = bRet && kmix_addTrack (pKFile, "My First Mix", "Clarinet");
   bRet = bRet && kmix_addTrack (pKFile, "My First Mix", "Timpani");
   bRet = bRet && kmix_addTrack (pKFile, "My First Mix", "Flute");
   k_check (bRet);

   // Adds levels for mix's elements 
   //  If you create mixing or selection constraints in your file,
   //  the mix you add, can transgress constraints.
   bRet = kmix_setEltLevel (pKFile, "My First Mix", "Cello",    1.0);
   bRet = bRet && kmix_setEltLevel (pKFile, "My First Mix", "Violin",   0.9);
   bRet = bRet && kmix_setEltLevel (pKFile, "My First Mix", "Trumpet",  0.8);
   bRet = bRet && kmix_setEltLevel (pKFile, "My First Mix", "Clarinet", 1.1);
   bRet = bRet && kmix_setEltLevel (pKFile, "My First Mix", "Timpani",  1.2);
   bRet = bRet && kmix_setEltLevel (pKFile, "My First Mix", "Flute",    1.0);
   k_check (bRet);

   // Set the mix 'My First Mix' as the default mix
   //  Here it isn't necessary because by default, the first mix
   //  you create is the default one...
   bRet = kmix_setDefault (pKFile, "My First Mix");
   k_check (bRet);


   // ===================== //
   // Create the second mix //
   bRet = kmix_create (pKFile, "My Second Mix");
   k_check (bRet);

   // Adds track in the mix
   bRet = kmix_addTrack (pKFile, "My Second Mix", "Violin");
   bRet = bRet && kmix_addTrack (pKFile, "My Second Mix", "Timpani");
   bRet = bRet && kmix_addTrack (pKFile, "My Second Mix", "Flute");
   k_check (bRet);

   // Adds levels for mix's elements 
   //  If you create mixing or selection constraints in your file,
   //  the mix you add, can transgress constraints.
   bRet = kmix_setEltLevel (pKFile, "My Second Mix", "Violin",  2.5);
   bRet = bRet && kmix_setEltLevel (pKFile, "My Second Mix", "Timpani", 1.5);
   bRet = bRet && kmix_setEltLevel (pKFile, "My Second Mix", "Flute",   2.0);
   k_check (bRet);

   return ktrue;
}

The Main Function

The functions k_create_simple_kfile and k_export_structure_in_file are defined in the Example 5: Create a very simple iKlax File.

// Create an iKlax File with author mix.
KBool ktest9_create_file_with_mix (KCString sTracksFilePath) {
   KFile* pKFile = knull;
   KBool bRet = kfalse;

   bRet = knull != sTracksFilePath;

   // Create a KFile structure
   bRet = bRet && knull != (pKFile = k_create_simple_kfile (sTracksFilePath));

   // Create some mix
   bRet = bRet && ktest9_add_mix (pKFile);

   // Export the KFile structure in a iKlax file
   bRet = bRet && k_export_structure_in_file (pKFile, "ex9-author_mix.iklax");

   // Delete the KFile structure
   KFile_delete (&pKFile);

   return bRet;
}


Source Code Summary
Previous Source Code: Example 8: Create an iKlax File with mixing constraints.


Generated on Tue Mar 9 11:45:48 2010 for iKlax Library (iKlaxLib) by doxygen 1.3.8