public void newTrack(long id, TrackPlayProperties p)
 {
     String filename = p.path;//"D:\\UER\\"+id+".mp3";
     Console.WriteLine("loading " + filename);
     AudioFileTrack track;
     track = (AudioFileTrack)audioengine.newFileTrack(filename, new AudioTimeMarker(p.markerCue, p.markerNext));
     track.defineEndSync(TSF);
     
     Console.WriteLine("*************");
     Console.WriteLine("TIME MARKER DEF");
     Console.WriteLine("Cue:" + track.markers.getStart());
     Console.WriteLine("Next:" + track.markers.getNext());
     track.defineSync(track.markers, TSF2);
     
     if (tracks.ContainsKey(id))
         ejectTrack(id);
     tracks.Add(id, track);
 }
 public void loadTrack(long logid, TrackPlayProperties p)
 {
     AudioServiceHost.audiomgr.newTrack(logid, p);
 }
 private TrackPlayProperties slotToTrackPlayProperties(SlotItem slot){
     if(slot.item.dataitemtype == DS.DataItemType.SONG){
         DataSongItem song = (DataSongItem)slot.item;
         TrackPlayProperties p = new TrackPlayProperties(PlayType.FILE, song.filename);
         p.markerCue = song.timemarker.cue;
         p.markerIntro = song.timemarker.intro;
         p.markerNext = song.timemarker.next;
         p.logid = slot.uniqID;
         return p;
     }
     else{
         return new TrackPlayProperties(PlayType.SILENCE);
     }
 }