Fixed track enable / disable.
authordruid23 <usr@dru-id.co.uk>
Sat, 2 Oct 2010 09:41:11 +0000 (10:41 +0100)
committerdruid23 <usr@dru-id.co.uk>
Sat, 2 Oct 2010 09:41:11 +0000 (10:41 +0100)
modified:   DemoRecorder.vala

src/DemoRecorder.vala

index 5af0fb9..0c2aadb 100644 (file)
@@ -184,26 +184,37 @@ public class DemoRecorder : Hildon.Program {
       keep_screen_on();
       if (0 != screen_timer_id) Source.remove(screen_timer_id);
       screen_timer_id = Timeout.add ((uint)Time.Milliseconds.SECOND * 20, keep_screen_on);
-//       for (int i = 0; i < tracks.children.length(); ++i) {
-//         TrackTransport tt = tracks.children.nth_data(i) as TrackTransport;
-//         if (null != tt) {
-//           if (tt.get_active_state()) {
-//             stdout.printf("Track %s active and has been added\n", i.to_string());
-//             //track.bin.set_start_time((Gst.ClockTime)(Time.Nanoseconds.SECOND * idx));
-//             mixer.add_track(tt.track_bin);
-//           }
-//         }
-//         tt = null;
-//       }
-       while (idx < project.tracks.length()) {
+      stdout.printf("Widgets in HBox %s\n", tracks.children.length().to_string());
+      var children = tracks.get_children();
+      foreach (var child in children) {
+        TrackTransport tt = child as TrackTransport;
+        if (null != tt && tt.get_active_state()) {
+          stdout.printf("Track is active and has been added\n");
+          mixer.add_track(tt.track_bin);
+        }
+      }
+      //for (int i = 0; i < tracks.children.length(); ++i) {
+         //Object tt = tracks.children.nth_data(i);
+         //stdout.printf("Type %s\n",tt.get_type().name());
+         //if (null != tt) {
+           //if (tt.track_bin.IsActive) {
+             //stdout.printf("Track %s active and has been added\n", i.to_string());
+             //track.bin.set_start_time((Gst.ClockTime)(Time.Nanoseconds.SECOND * idx));
+             //mixer.add_track(tt.track_bin);
+           //}
+         //}
+         //tt = null;
+       //}
+       /*while (idx < project.tracks.length()) {
          Track track = project.tracks.nth_data(idx);
          if (track.active) {
-           stdout.printf("Track %s active and has been added\n", idx.to_string());
+           //stdout.printf("Track %s active and has been added\n", idx.to_string());
+           stdout.printf("Track_bin %s active and has been added\n", track.bin.IsActive.to_string());
            //track.bin.set_start_time((Gst.ClockTime)(Time.Nanoseconds.SECOND * idx));
            mixer.add_track(track.bin);
          }
          ++idx;
-       }
+       }*/
       playpipeline = new PlayPipeline("player", mixer);
       this.playback_position_duration.connect(player.position_duration_callback);
       playpipeline.position_duration.connect(playpipeline_position_duration_callback);