Changeset 43

Show
Ignore:
Timestamp:
04/13/08 19:23:17 (8 months ago)
Author:
kaarna
Message:

Playback with a timeout. Doesn't work so well.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/pihlaja/src/pihlaja/PihlajaMain.d

    r42 r43  
    3636 
    3737import shiraz.Shiraz; 
     38import shiraz.core.Timeout; 
    3839import shiraz.ui.Window; 
    3940import shiraz.ui.SubWindow; 
     
    8586    */ 
    8687 
     88    bool playCallback() 
     89    { 
     90        //Trace.formatln("playCallback."); 
     91     
     92        if( m_isPlay == true ) 
     93        { 
     94            invalidate(); 
     95            return true;//continue timeout. 
     96        } 
     97        //else 
     98            return false;//stop timeout. 
     99    } 
     100 
    87101    //My stuff: 
     102    void play() 
     103    { 
     104        if( m_isPlay == false ) 
     105        { 
     106            Trace.formatln("play()."); 
     107             
     108            m_isPlay = true; 
     109            playbackCore.play(); 
     110            //invalidate(); 
     111             
     112            playTimeout = new Timeout(40, &playCallback, true); 
     113        }    
     114    } 
     115     
     116    void pause()//or stop()? 
     117    { 
     118        if( m_isPlay == true ) 
     119        { 
     120            m_isPlay = false; 
     121            playbackCore.stop(); 
     122            invalidate(); 
     123        } 
     124    } 
     125    void playPause() 
     126    { 
     127        Trace.formatln("playPause()."); 
     128        if( m_isPlay == true ) 
     129        { 
     130            pause(); 
     131        } 
     132        else 
     133        { 
     134            play(); 
     135        } 
     136    } 
    88137    public bool isPlay() { return m_isPlay; } 
    89138    protected bool m_isPlay = false; 
    90     void playPause() 
    91     { 
    92         if( m_isPlay == true ) 
    93         { 
    94             m_isPlay = false; 
    95             playbackCore.stop(); 
    96         } 
    97         else 
    98         { 
    99             m_isPlay = true; 
    100             playbackCore.play(); 
    101         } 
    102         invalidate(); 
    103     } 
    104139     
    105140    void seekToStart() 
     
    129164        fs = qtvideo[2].getFrame( seekPosition ); 
    130165        Trace.formatln("seekPosition: {}", seekPosition ); 
    131     } 
    132      
    133     void play() 
    134     { 
    135             m_isPlay = true; 
    136             playbackCore.play(); 
    137     } 
    138      
    139     void pause()//or stop()? 
    140     { 
    141             m_isPlay = false; 
    142             playbackCore.stop(); 
    143166    } 
    144167     
     
    194217        delete playbackCore; 
    195218    } 
     219 
     220    Timeout playTimeout; 
    196221 
    197222    char[] lqt_filename = "/home/joonaz/muiden/video/pihlaja_logo_anim_003.mov"; 
  • trunk/pihlaja/src/shiraz/canvas/IRootWindow.d

    r42 r43  
    3535    void invalidate(); 
    3636     
     37     
    3738    //High precision timing: 
    3839    double frameTime();  
  • trunk/pihlaja/src/shiraz/canvas/Rectangle.d

    r42 r43  
    25982598    protected ArrangeType m_arrangeType = ArrangeType.VBOX; 
    25992599     
     2600    //synchronized  
    26002601    void invalidate() 
    26012602    { 
  • trunk/pihlaja/src/shiraz/ui/Window.d

    r42 r43  
    561561    protected bool m_isInvalidated = false; 
    562562     
     563    //synchronized  
    563564    void invalidate() 
    564565    { 
     
    577578        } 
    578579    } 
     580     
     581     
    579582     
    580583    //These are overridden from Widget.