>> Isn't this more or less the same idea as the 'live pattern mode' (or
>> 'stacked pattern mode'), where the pattern change is postponed until the 
>> next bar?
>>
>> - Jakob
>>     
> Yes, it's that, but I didn't kenw anything about this mode in Hydrogen.
> That seems really nice - I will take a closer look to this mode.
>
>   
I had a closer look, and yes that's nearly exactly what I was looking for. 

There is still a question : there are two variables in H2Core which seems to be 
designed to control the 'live pattern mode', but which are not really 
implemented :

libs/hydrogen/src/hydrogen.cpp:
------------------------------- 
  bool m_bAppendNextPattern;            ///< Add the next pattern to the list 
instead
                                        /// of replace.
  bool m_bDeleteNextPattern;            ///< Delete the next pattern from the 
list.

I guess that these variables should control wether the next patterns should be 
added to the playing pattern or replace them. But I don't really understand the 
difference between this variables.

If m_bAppendNextPattern is true, then I understand that the patterns in 
m_pNextPatterns should be added to m_pPlayingPatterns, so the patterns in 
m_pPlayingPatterns should not be deleted and I understand that 
m_bDeleteNextPattern should be false ;
So if m_bAppendNextPattern is false, I understand the opposite : the patterns 
in m_pNextPatterns should replace those in m_pPlayingPatterns, so the patterns 
in 
m_pPlayingPatterns should be deleted and I understand that m_bDeleteNextPattern 
should be true.

So in the way I understand things, we always have
  m_bDeleteNextPattern = !m_bAppendNextPattern
which makes stupid to declare two variables. Where am I wrong ?

Thanks by advance for your answer,

Kjö



P.S. In my understanding, it is possible to implement m_bAppendPattern this way 
:

Index: libs/hydrogen/src/hydrogen.cpp
===================================================================
--- libs/hydrogen/src/hydrogen.cpp      (révision 658)
+++ libs/hydrogen/src/hydrogen.cpp      (copie de travail)
@@ -1188,6 +1188,12 @@
                        if ( ( tick == m_nPatternStartTick + nPatternSize )
                             || ( m_nPatternStartTick == -1 ) ) {
                                if ( m_pNextPatterns->get_size() > 0 ) {
+                       //< Add the next pattern to the list instead of replace.
+                       if ( !m_bAppendNextPattern ) { 
+                                         _INFOLOG ( "Delete current pattern" );
+                                         m_pPlayingPatterns->clear();
+                       }
+                                 
                                        Pattern * p;
                                        for ( uint i = 0;
                                              i < m_pNextPatterns->get_size();





-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Hydrogen-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel

Reply via email to