Home | History | Annotate | Download | only in JetCreator

Lines Matching full:self

41     def __init__(self, panel, ctrlList, callbackClass):

45 self.ctrls = {}
50 self.ctrls[Text] = wx.Button(panel, Id, Lbl, wx.Point(Col, Row), size=Len)
52 self.ctrls[Text].Bind(wx.EVT_BUTTON, getattr(callbackClass, Fct), self.ctrls[Text], id=Id)
54 self.ctrls[Text].SetDefault()
58 self.ctrls[Text] = wx.TextCtrl(panel, Id, "", wx.Point(Col, Row + LBL_OFFSET +3), wx.Size(Len,-1))
60 self.ctrls[Text] = JetSpinOneBased(panel, Id, "", wx.Point(Col, Row + LBL_OFFSET), wx.Size(Len,-1), min=Min, max=Max)
62 self.ctrls[Text] = JetSpin(panel, Id, "", wx.Point(Col, Row + LBL_OFFSET), wx.Size(Len,-1), min=Min, max=Max)
64 self.ctrls[Text] = wx.ComboBox(panel, Id, "", wx.Point(Col, Row + LBL_OFFSET), wx.Size(Len,-1), Lst, wx.CB_DROPDOWN | wx.CB_READONLY )
65 self.ctrls[Text].SetValue(Lst[0])
67 self.ctrls[Text].Bind(wx.EVT_COMBOBOX, getattr(callbackClass, Fct), self.ctrls[Text])
69 self.ctrls[Text] = TimeCtrl(panel, pos=(Col, Row + LBL_OFFSET), ctlName=Text)
71 self.ctrls[Text] = JetFileCombo(panel, pos=(Col, Row + LBL_OFFSET), size=wx.Size(Len,-1), title=Lbl, spec=Lst, id=Id)
73 self.ctrls[Text] = JetFileText(panel, pos=(Col, Row + LBL_OFFSET), size=wx.Size(Len,-1), title=Lbl, spec=Lst, id=Id)
75 self.ctrls[Text] = wx.StaticBox(parent=panel, id=wx.ID_ANY, label=Lbl, pos=(Row, Col), size=Len)
78 self.ctrls[Text] = JetCheckBox(panel, Id, label=Lbl, pos=(Col, Row), size=wx.Size(Len,-1))
81 self.ctrls[Text].Bind(wx.EVT_CHECKBOX , getattr(callbackClass, Fct), self.ctrls[Text])
83 self.ctrls[Text] = wx.RadioBox(panel, Id, label=Lbl, pos=(Col, Row), size=Len, choices=Lst, majorDimension=1, style=wx.RA_SPECIFY_COLS)
86 self.ctrls[Text].Bind(wx.EVT_RADIOBOX , getattr(callbackClass, Fct), self.ctrls[Text])
88 self.ctrls[Text] = JetRadioButton(panel, Id, label=Lbl, pos=(Col, Row), size=wx.Size(Len,-1))
90 self.ctrls[Text].SetValue(Lst)
92 self.ctrls[Text].Bind(wx.EVT_RADIOBUTTON , getattr(callbackClass, Fct), self.ctrls[Text])
94 self.ctrls[Text] = wx.ListBox(panel, Id, pos=(Col, Row), size=Len)
97 self.ctrls[Text] = JetTrackCtrl(panel, Id, pos=(Col, Row + LBL_OFFSET), size=Len, style=wx.LC_REPORT | wx.SUNKEN_BORDER)
100 self.ctrls[Text] = JetListCtrl(panel, Id, pos=(Col, Row), size=Len)
103 self.ctrls[Text] = SegmentGraph(panel, pos=(Col, Row), size=Len)
106 self.ctrls[Text] = wx.ContextHelpButton(panel, Id, pos=(Col, Row))
109 self.ctrls[Text] = wx.StaticText(panel, Id, Lbl, wx.Point(Col, Row), size=wx.Size(Len[0],Len[1]))
112 self.ctrls[Text] = wx.StaticBox(panel, wx.ID_ANY, Lbl, pos=(Col, Row), size=Len)
116 self.ctrls[Lbl] = wx.StaticText(panel, Id, Lbl, wx.Point(Col, Row))
118 self.ctrls[Text].Enable(False)
122 self.ctrls[Text].SetHelpText(helpText)
126 #print("def " + Fct + "(self, event): pass")
130 def GetValue(self, fld):
132 return self.ctrls[fld].GetValue()
134 def SetValue(self, fld, val):
136 self.ctrls[fld].SetValue(val)
140 def __init__(self):
141 wx.Dialog.__init__(self, None, -1, JetDefs.DLG_JETOPEN)
142 self.fileName = ""
143 self.je = JetEdit(self, "JETOPEN_CTRLS", self)
145 self.je.ctrls[JetDefs.F_JLIST].AppendItems(fileList)
147 self.je.ctrls[JetDefs.F_JFILE].SetValue(fileList[0])
148 self.Bind(wx.EVT_LISTBOX_DCLICK, self.OnOpen)
149 self.Bind(wx.EVT_LISTBOX, self.OnClick)
150 self.SetSize(JetDefs.JETOPEN_SIZE)
151 self.CenterOnParent()
153 def OnJetImport(self, event):
155 self.EndModal(JetDefs.ID_JET_IMPORT)
157 def OnClick(self, event):
159 sValue = self.je.ctrls[JetDefs.F_JLIST].GetString(self.je.ctrls[JetDefs.F_JLIST].GetSelection())
160 self.je.ctrls[JetDefs.F_JFILE].SetValue(sValue)
162 def OnOpen(self, event):
164 sValue = self.je.ctrls[JetDefs.F_JLIST].GetString(self.je.ctrls[JetDefs.F_JLIST].GetSelection())
165 self.je.ctrls[JetDefs.F_JFILE].SetValue(sValue)
166 if self.Validate():
167 self.fileName = self.je.ctrls[JetDefs.F_JFILE].GetValue()
168 AppendRecentJetFile(self.fileName)
169 self.EndModal(JetDefs.ID_JET_OPEN)
171 def OnOk(self, event):
173 if self.Validate():
174 self.fileName = self.je.ctrls[JetDefs.F_JFILE].GetValue()
175 AppendRecentJetFile(self.fileName)
176 self.EndModal(JetDefs.ID_JET_OPEN)
178 def OnNew(self, event):
180 self.EndModal(JetDefs.ID_JET_NEW)
182 def Validate(self):
184 if len(self.je.ctrls[JetDefs.F_JFILE].GetValue()) == 0:
186 self.je.ctrls[JetDefs.F_JFILE].SetFocus()
188 if not FileExists(self.je.ctrls[JetDefs.F_JFILE].GetValue()):
190 self.je.ctrls[JetDefs.F_JFILE].SetFocus()
196 def __init__(self):
197 wx.Dialog.__init__(self, None, -1, JetDefs.DLG_PREFERENCES)
198 self.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
199 self.je = JetEdit(self, "PREFERENCES_CTRLS", self)
200 self.SetSize(JetDefs.PREFERENCES_SIZE)
201 self.CenterOnParent()
203 def OnOk(self, event):
204 self.EndModal(wx.ID_OK)
206 def GetValue(self, fld):
207 return self.je.ctrls[fld].GetValue()
209 def SetValue(self, fld, val):
210 self.je.ctrls[fld].SetValue(val)
215 def __init__(self):
216 wx.Dialog.__init__(self, None, -1, JetDefs.DLG_ABOUT)
219 b = wx.StaticBitmap(self, -1, bmp)
220 self.SetSize((bmp.GetWidth(), bmp.GetHeight()))
221 self.CenterOnParent()
225 def OnOk(self, event):
226 self.EndModal(wx.ID_OK)
228 def GetValue(self, fld):
229 return self.je.ctrls[fld].GetValue()
231 def SetValue(self, fld, val):
232 self.je.ctrls[fld].SetValue(val)
237 def __init__(self):
238 wx.Dialog.__init__(self, None, -1, JetDefs.DLG_PROPERTIES)
239 self.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
240 self.je = JetEdit(self, "JET_PROPERTIES_CTRLS", self)
241 self.SetSize(JetDefs.JET_PROPERTIES_SIZE)
242 self.CenterOnParent()
244 def OnOk(self, event):
245 self.EndModal(wx.ID_OK)
247 def GetValue(self, fld):
248 return self.je.ctrls[fld].GetValue()
250 def SetValue(self, fld, val):
251 self.je.ctrls[fld].SetValue(val)
256 def __init__(self, title):
257 wx.Dialog.__init__(self, None, -1, title)
258 self.je = JetEdit(self, "ERRORDLG", self)
259 self.SetSize(JetDefs.ERRORDLG_SIZE)
260 self.CenterOnParent()
262 def OnOk(self, event):
263 self.EndModal(wx.ID_OK)
265 def SetErrors(self, errors):
266 self.je.ctrls[JetDefs.F_ERRGRID].AddCol("Error", JetDefs.ERRORCOLW)
267 self.je.ctrls[JetDefs.F_ERRGRID].AddCol("Description", JetDefs.ERRORCOLW)
268 self.je.ctrls[JetDefs.F_ERRGRID].AddRows(errors)
273 def __init__(self, title, currentJetConfigFile):
274 wx.Dialog.__init__(self, None, -1, title)
275 self.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
276 self.currentJetConfigFile = currentJetConfigFile
277 self.je = JetEdit(self, "SEGDLG_CTRLS", self)
278 self.je.ctrls[JetDefs.F_MIDIFILE].cmb.Bind(wx.EVT_KILL_FOCUS, self.OnMidiChanged)
279 self.je.ctrls[JetDefs.F_MIDIFILE].cmb.Bind(wx.EVT_COMBOBOX, self.OnMidiChanged)
280 self.je.ctrls[JetDefs.F_MIDIFILE].SetEventFire(True)
281 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddCol(JetDefs.GRD_TRACK, JetDefs.MUTEGRD_TRACK)
282 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddCol(JetDefs.GRD_CHANNEL, JetDefs.MUTEGRD_CHANNEL)
283 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddCol(JetDefs.GRD_NAME, JetDefs.MUTEGRD_NAME)
284 self.je.ctrls[JetDefs.F_MUTEFLAGS].BindCheckBox(self.OnEventChecked)
285 self.je.ctrls[JetDefs.F_START].SetChangeCallbackFct(self.UpdateGraph)
286 self.je.ctrls[JetDefs.F_END].SetChangeCallbackFct(self.UpdateGraph)
287 self.je.ctrls[JetDefs.F_DISPEMPTYTRACKS].SetValue(IniGetValue(self.currentJetConfigFile, JetDefs.F_DISPEMPTYTRACKS, JetDefs.F_DISPEMPTYTRACKS, 'bool', 'False'))
288 self.je.ctrls[JetDefs.F_GRAPHLABELS].SetValue(IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, 'bool', 'True'))
289 self.je.ctrls[JetDefs.F_GRAPHCLIPS].SetValue(IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, 'bool', 'True'))
290 self.je.ctrls[JetDefs.F_GRAPHAPPEVTS].SetValue(IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, 'bool', 'True'))
291 self.replicatePrefix = ""
292 self.lstReplicate = []
293 self.chkReplaceMatching = False
295 EVT_JET_STATUS(self, self.OnJetStatusUpdate)
296 wx.EVT_CLOSE(self, self.OnClose)
298 self.Player = None
299 self.segment = None
300 self.graphSegment = None
301 self.jetevents = []
302 self.lastMidiFile = ""
303 self.lastMidiInfo = None
304 self.playMode = PLAY_SEGMENT
305 self.graphMode = PLAY_MIDI
306 self.SetSize(JetDefs.SEGDLG_SIZE)
307 self.CenterOnParent()
309 def OnClose(self, event):
311 self.ShutdownPlayer()
312 self.je.ctrls[JetDefs.F_START].UnBindKillFocus()
313 self.je.ctrls[JetDefs.F_END].UnBindKillFocus()
314 self.EndModal(wx.ID_CANCEL)
316 def ShutdownPlayer(self):
318 if self.Player is not None:
319 self.Player.SetKeepPlayingFlag(False)
321 def OnMidiChanged(self, event):
323 self.UpdateMaxMbt()
326 def UpdateMaxMbt(self):
328 thread.start_new_thread(self.UpdateMaxMbtThread, ())
330 def UpdateMaxMbtThread(self):
332 if self.je.ctrls[JetDefs.F_MIDIFILE].GetValue() == self.lastMidiFile:
334 self.lastMidiFile = self.je.ctrls[JetDefs.F_MIDIFILE].GetValue()
335 self.lastMidiInfo = GetMidiInfo(self.je.ctrls[JetDefs.F_MIDIFILE].GetValue())
336 wx.PostEvent(self, JetStatusEvent(JetDefs.PST_MIDI_INFO, self.lastMidiInfo))
338 def GetValue(self, fld):
340 return self.je.ctrls[fld].GetValue()
342 def SetValue(self, fld, val):
344 self.je.ctrls[fld].SetValue(val)
345 if self.je.ctrls[fld] == self.je.ctrls[JetDefs.F_MIDIFILE]:
346 self.UpdateMaxMbt()
348 def OnOk(self, event):
350 self.ShutdownPlayer()
351 if self.Validate():
352 self.je.ctrls[JetDefs.F_START].UnBindKillFocus()
353 self.je.ctrls[JetDefs.F_END].UnBindKillFocus()
354 self.EndModal(wx.ID_OK)
356 def Validate(self):
358 if not CompareMbt(self.je.ctrls[JetDefs.F_START].GetValue(), self.je.ctrls[JetDefs.F_END].GetValue()):
360 self.je.ctrls[JetDefs.F_START].SetFocus()
362 if len(self.je.ctrls[JetDefs.F_SEGNAME].GetValue()) == 0:
364 self.je.ctrls[JetDefs.F_SEGNAME].SetFocus()
366 if len(self.je.ctrls[JetDefs.F_MIDIFILE].GetValue()) == 0:
368 self.je.ctrls[JetDefs.F_MIDIFILE].SetFocus()
370 if not FileExists(self.je.ctrls[JetDefs.F_MIDIFILE].GetValue()):
372 self.je.ctrls[JetDefs.F_MIDIFILE].SetFocus()
374 if len(self.je.ctrls[JetDefs.F_DLSFILE].GetValue()) > 0:
375 if not FileExists(self.je.ctrls[JetDefs.F_DLSFILE].GetValue()):
377 self.je.ctrls[JetDefs.F_DLSFILE].SetFocus()
379 self.je.ctrls[JetDefs.F_MUTEFLAGS].SetValue(ComputeMuteFlagsFromList(self.je.ctrls[JetDefs.F_MUTEFLAGS]))
382 def SetSegment(self, mode):
385 jetevents = self.jetevents
386 segment = JetSegment(self.GetValue(JetDefs.F_SEGNAME),
387 self.GetValue(JetDefs.F_MIDIFILE),
388 self.GetValue(JetDefs.F_START),
389 self.GetValue(JetDefs.F_END),
391 self.GetValue(JetDefs.F_SEGNAME),
392 self.GetValue(JetDefs.F_QUANTIZE),
394 self.GetValue(JetDefs.F_DLSFILE),
396 self.GetValue(JetDefs.F_TRANSPOSE),
397 self.GetValue(JetDefs.F_REPEAT),
398 self.GetValue(JetDefs.F_MUTEFLAGS))
401 segment = JetSegment(self.GetValue(JetDefs.F_SEGNAME),
402 self.GetValue(JetDefs.F_MIDIFILE),
404 self.lastMidiInfo.endMbtStr,
406 self.GetValue(JetDefs.F_SEGNAME),
407 self.GetValue(JetDefs.F_QUANTIZE),
409 self.GetValue(JetDefs.F_DLSFILE),
416 def OnEventChecked(self, index, checked):
418 if self.Player is not None:
419 trackNum = self.je.ctrls[JetDefs.F_MUTEFLAGS].GetTrackNumber(index)
420 self.Player.SetMuteFlag(trackNum, checked)
422 def OnPlay(self, event):
424 if self.je.ctrls[JetDefs.F_PLAY].GetLabel() == JetDefs.BUT_STOP:
425 self.Player.SetKeepPlayingFlag(False)
428 if not self.Validate():
431 self.playMode = PLAY_SEGMENT
432 self.graphSegment = self.SetSegment(self.graphMode)
433 self.UpdateGraph()
434 self.Player = PreviewPlayer(self.je.ctrls[JetDefs.F_PLAY], self.SetSegment(self.playMode))
435 self.Player.SetGraphCtrl(self.je.ctrls[JetDefs.F_GRAPH], self)
436 self.PlayerThread = thread.start_new_thread(self.Player .Start, ())
438 def OnPlayMidi(self, event):
440 if self.je.ctrls[JetDefs.F_PLAYMIDI].GetLabel() == JetDefs.BUT_STOP:
441 self.Player.SetKeepPlayingFlag(False)
444 if not self.Validate():
447 self.playMode = PLAY_MIDI
448 self.graphSegment = self.SetSegment(self.graphMode)
449 self.UpdateGraph()
450 self.Player = PreviewPlayer(self.je.ctrls[JetDefs.F_PLAYMIDI], self.SetSegment(self.playMode))
451 self.Player.SetGraphCtrl(self.je.ctrls[JetDefs.F_GRAPH], self)
452 self.PlayerThread = thread.start_new_thread(self.Player .Start, ())
454 def OnSetGraphType(self, event):
456 self.SetGraphType(event.GetInt())
458 def SetGraphType(self, iMode):
461 self.graphMode = PLAY_SEGMENT
463 self.graphMode = PLAY_MIDI
464 self.graphSegment = self.SetSegment(self.graphMode)
465 self.UpdateGraph()
467 def OnGraphUpdate(self, evt):
469 self.je.ctrls[JetDefs.F_GRAPH].DoDrawing()
471 def UpdateGraph(self):
473 if self.graphMode == PLAY_SEGMENT:
474 self.je.ctrls[JetDefs.F_GRAPH].LoadSegment(self.graphSegment, showLabels=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, 'bool', 'True'), showClips=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, 'bool', 'True'), showAppEvts=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, 'bool', 'True'))
476 if self.playMode == PLAY_SEGMENT:
480 self.je.ctrls[JetDefs.F_GRAPH].LoadSegment(self.graphSegment,(self.GetValue(JetDefs.F_SEGNAME), self.GetValue(JetDefs.F_START), self.GetValue(JetDefs.F_END)), iMidiMode, showLabels=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, 'bool', 'True'), showClips=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, 'bool', 'True'), showAppEvts=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, 'bool', 'True'))
482 def OnJetStatusUpdate(self, evt):
485 self.je.ctrls[JetDefs.F_GRAPH].UpdateLocation(evt.data)
487 if self.playMode == PLAY_SEGMENT:
488 self.je.ctrls[JetDefs.F_PLAY].SetLabel(JetDefs.BUT_STOP)
489 self.je.ctrls[JetDefs.F_PLAYMIDI].Enabled = False
491 self.je.ctrls[JetDefs.F_RDOGRAPH].Enabled = False
492 self.je.ctrls[JetDefs.F_PLAYMIDI].SetLabel(JetDefs.BUT_STOP)
493 self.je.ctrls[JetDefs.F_PLAY].Enabled = False
495 self.je.ctrls[JetDefs.F_PAUSE].Enabled = True
496 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_PAUSE)
498 self.je.ctrls[JetDefs.F_RDOGRAPH].Enabled = True
499 if self.playMode == PLAY_SEGMENT:
500 self.je.ctrls[JetDefs.F_PLAY].SetLabel(JetDefs.BUT_PLAYSEG)
501 self.je.ctrls[JetDefs.F_PLAYMIDI].Enabled = True
503 self.je.ctrls[JetDefs.F_PLAYMIDI].SetLabel(JetDefs.BUT_PLAYMIDI)
504 self.je.ctrls[JetDefs.F_PLAY].Enabled = True
506 self.je.ctrls[JetDefs.F_PAUSE].Enabled = False
507 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_PAUSE)
509 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_RESUME)
511 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_PAUSE)
513 ClearRowSelections(self.je.ctrls[JetDefs.F_MUTEFLAGS])
514 self.md = evt.data
515 if self.md.err == 0:
516 self.je.ctrls[JetDefs.F_END].SetMaxMbt(self.md.maxMeasures+1,self.md.maxBeats,self.md.maxTicks)
517 if self.je.ctrls[JetDefs.F_END].GetValue() == JetDefs.MBT_ZEROSTR:
518 self.je.ctrls[JetDefs.F_END].SetValue((self.md.maxMeasures,0,0))
519 self.je.ctrls[JetDefs.F_START].SetMaxMbt(self.md.maxMeasures+1,self.md.maxBeats,self.md.maxTicks)
520 self.je.ctrls[JetDefs.F_MUTEFLAGS].DeleteAllItems()
521 loadEmpty = IniGetValue(self.currentJetConfigFile, JetDefs.INI_DISPEMPTYTRACKS, JetDefs.INI_DISPEMPTYTRACKS, 'bool', 'False')
522 for track in self.md.trackList:
523 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddTrackRow(track, loadEmpty)
524 self.je.ctrls[JetDefs.F_MUTEFLAGS].CheckTracks(self.je.ctrls[JetDefs.F_MUTEFLAGS].GetValue())
525 self.graphSegment = self.SetSegment(self.graphMode)
526 self.UpdateGraph()
528 def OnSetTrackDisplayOption(self, evt):
529 IniSetValue(self.currentJetConfigFile, JetDefs.INI_DISPEMPTYTRACKS, JetDefs.INI_DISPEMPTYTRACKS, self.je.ctrls[JetDefs.F_DISPEMPTYTRACKS].GetValue())
530 loadEmpty = IniGetValue(self.currentJetConfigFile, JetDefs.INI_DISPEMPTYTRACKS, JetDefs.INI_DISPEMPTYTRACKS, 'bool', 'False')
531 if self.md is not None:
532 self.je.ctrls[JetDefs.F_MUTEFLAGS].DeleteAllItems()
533 if self.md.err == 0:
534 for track in self.md.trackList:
535 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddTrackRow(track, loadEmpty)
537 def OnPause(self, evt):
539 self.Player.Pause()
541 def OnSetGraphOptions(self, evt):
543 IniSetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, self.je.ctrls[JetDefs.F_GRAPHLABELS].GetValue())
544 IniSetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, self.je.ctrls[JetDefs.F_GRAPHAPPEVTS].GetValue())
545 IniSetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, self.je.ctrls[JetDefs.F_GRAPHCLIPS].GetValue())
546 self.UpdateGraph()
548 def OnReplicate(self, evt):
551 dlg.SetName(self.GetValue(JetDefs.F_SEGNAME))
553 dlg.event_max = self.je.ctrls[JetDefs.F_START].GetMaxMbt()
554 dlg.length = MbtDifference(ConvertStrTimeToTuple(self.GetValue(JetDefs.F_START)), ConvertStrTimeToTuple(self.GetValue(JetDefs.F_END)))
557 self.replicatePrefix = dlg.GetValue(JetDefs.F_RPPREFIX)
558 self.lstReplicate = dlg.lstReplicate
559 self.chkReplaceMatching = dlg.GetValue(JetDefs.F_RPREPLACE)
560 self.EndModal(wx.ID_OK)
566 def __init__(self, title, currentJetConfigFile):
567 wx.Dialog.__init__(self, None, -1, title)
568 self.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
569 self.title = title
570 self.currentJetConfigFile = currentJetConfigFile
571 self.je = JetEdit(self, "EVTDLG_CTRLS", self)
572 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddCol(JetDefs.GRD_TRACK, JetDefs.MUTEGRD_TRACK)
573 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddCol(JetDefs.GRD_CHANNEL, JetDefs.MUTEGRD_CHANNEL)
574 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddCol(JetDefs.GRD_NAME, JetDefs.MUTEGRD_NAME)
575 self.je.ctrls[JetDefs.F_ESTART].SetChangeCallbackFct(self.UpdateGraph)
576 self.je.ctrls[JetDefs.F_EEND].SetChangeCallbackFct(self.UpdateGraph)
577 self.je.ctrls[JetDefs.F_GRAPHLABELS].SetValue(IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, 'bool', 'True'))
578 self.je.ctrls[JetDefs.F_GRAPHCLIPS].SetValue(IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, 'bool', 'True'))
579 self.je.ctrls[JetDefs.F_GRAPHAPPEVTS].SetValue(IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, 'bool', 'True'))
580 EVT_JET_STATUS(self, self.OnJetStatusUpdate)
581 self.segment = None
582 self.Player = None
583 self.event_id = 1
584 self.replicatePrefix = ""
585 self.lstReplicate = []
586 self.chkReplaceMatching = False
588 wx.EVT_CLOSE(self, self.OnClose)
589 self.SetSize(JetDefs.EVTDLG_SIZE)
590 self.CenterOnParent()
592 def OnGraphUpdate(self, evt):
594 self.je.ctrls[JetDefs.F_GRAPH].DoDrawing()
596 def OnJetStatusUpdate(self, evt):
599 self.je.ctrls[JetDefs.F_GRAPH].UpdateLocation(evt.data)
601 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_PAUSE)
602 self.je.ctrls[JetDefs.F_PLAY].SetLabel(JetDefs.BUT_STOP)
603 self.je.ctrls[JetDefs.F_PAUSE].Enabled = True
604 self.je.ctrls[JetDefs.F_ETRIGGERBUT].Enabled = True
605 self.je.ctrls[JetDefs.F_EMUTEBUT].Enabled = True
607 self.je.ctrls[JetDefs.F_EMUTEBUT].SetLabel(JetDefs.BUT_UNMUTE)
608 self.je.ctrls[JetDefs.F_PLAY].SetLabel(JetDefs.BUT_PLAY)
609 self.je.ctrls[JetDefs.F_PAUSE].Enabled = False
610 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_PAUSE)
611 self.je.ctrls[JetDefs.F_ETRIGGERBUT].Enabled = False
612 self.je.ctrls[JetDefs.F_EMUTEBUT].Enabled = False
614 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_RESUME)
616 self.je.ctrls[JetDefs.F_PAUSE].SetLabel(JetDefs.BUT_PAUSE)
618 def OnPause(self, evt):
620 self.Player.Pause()
622 def UpdateGraph(self):
624 if len(self.segment.jetevents) == 0:
625 self.segment.jetevents.append(JetEvent(self.je.ctrls[JetDefs.F_ENAME].GetValue(),
626 self.je.ctrls[JetDefs.F_ETYPE].GetValue(),
628 self.je.ctrls[JetDefs.F_ETRACK].GetValue(),
629 self.je.ctrls[JetDefs.F_ECHANNEL].GetValue(),
630 self.je.ctrls[JetDefs.F_ESTART].GetValue(),
631 self.je.ctrls[JetDefs.F_EEND].GetValue()))
633 self.segment.jetevents[0].event_name = self.je.ctrls[JetDefs.F_ENAME].GetValue()
634 self.segment.jetevents[0].event_type = self.je.ctrls[JetDefs.F_ETYPE].GetValue()
635 self.segment.jetevents[0].event_start = self.je.ctrls[JetDefs.F_ESTART].GetValue()
636 self.segment.jetevents[0].event_end = self.je.ctrls[JetDefs.F_EEND].GetValue()
637 self.je.ctrls[JetDefs.F_GRAPH].LoadSegment(self.segment, showLabels=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, 'bool', 'True'), showClips=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, 'bool', 'True'), showAppEvts=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, 'bool', 'True'))
639 def OnClose(self, event):
641 self.ShutdownPlayer()
642 self.je.ctrls[JetDefs.F_ESTART].UnBindKillFocus()
643 self.je.ctrls[JetDefs.F_EEND].UnBindKillFocus()
644 self.EndModal(wx.ID_CANCEL)
646 self):
648 if self.Player is not None:
649 self.Player.SetKeepPlayingFlag(False)
651 def GetValue(self, fld):
653 return self.je.ctrls[fld].GetValue()
655 def SetValue(self, fld, val):
657 self.je.ctrls[fld].SetValue(val)
659 def SetEventId(self):
661 if self.title == JetDefs.MAIN_ADDEVENTTITLE:
663 for evt in self.segment.jetevents:
667 self.je.ctrls[JetDefs.F_EEVENTID].SetValue(iNextEventId + 1)
669 def OnEventSelect(self, event=None):
671 eType = self.je.ctrls[JetDefs.F_ETYPE].GetValue()
673 self.je.ctrls[JetDefs.F_ENAME].SetValue(JetDefs.E_EOS)
674 self.je.ctrls[JetDefs.F_ENAME].Enable(False)
675 self.je.ctrls[JetDefs.F_ESTART].Enable(False)
676 self.je.ctrls[JetDefs.F_EEND].Enable(True)
677 self.je.ctrls[JetDefs.F_ETRIGGERBUT].Enable(False)
678 self.je.ctrls[JetDefs.F_EEVENTID].Enable(False)
680 if len(self.je.ctrls[JetDefs.F_ENAME].GetValue()) == 0 or self.je.ctrls[JetDefs.F_ENAME].GetValue() == JetDefs.E_EOS or self.je.ctrls[JetDefs.F_ENAME].GetValue() == JetDefs.E_APP:
681 self.je.ctrls[JetDefs.F_ENAME].SetValue(JetDefs.E_CLIP)
682 self.je.ctrls[JetDefs.F_ENAME].Enable(True)
683 self.je.ctrls[JetDefs.F_ESTART].Enable(True)
684 self.je.ctrls[JetDefs.F_EEND].Enable(True)
685 self.je.ctrls[JetDefs.F_ETRIGGERBUT].Enable(True)
686 self.je.ctrls[JetDefs.F_EEVENTID].Enable(True)
687 self.je.ctrls[JetDefs.F_EEVENTID].SetRange(JetDefs.EVENTID_MIN, JetDefs.EVENTID_MAX)
688 if self.je.ctrls[JetDefs.F_EEVENTID].GetValue() < JetDefs.EVENTID_MIN:
689 self.je.ctrls[JetDefs.F_EEVENTID].SetValue(JetDefs.EVENTID_MIN)
690 if self.je.ctrls[JetDefs.F_EEVENTID].GetValue() > JetDefs.EVENTID_MAX:
691 self.je.ctrls[JetDefs.F_EEVENTID].SetValue(JetDefs.EVENTID_MAX)
692 self.SetEventId()
694 if len(self.je.ctrls[JetDefs.F_ENAME].GetValue()) == 0 or self.je.ctrls[JetDefs.F_ENAME].GetValue() == JetDefs.E_EOS:
695 self.je.ctrls[JetDefs.F_ENAME].SetValue(JetDefs.E_APP)
696 self.je.ctrls[JetDefs.F_ENAME].Enable(True)
697 self.je.ctrls[JetDefs.F_ESTART].Enable(True)
698 self.je.ctrls[JetDefs.F_EEND].Enable(False)
699 self.je.ctrls[JetDefs.F_ETRIGGERBUT].Enable(False)
700 self.je.ctrls[JetDefs.F_EEVENTID].Enable(True)
701 self.je.ctrls[JetDefs.F_EEVENTID].SetRange(JetDefs.APPCONTROLLERID_MIN, JetDefs.APPCONTROLLERID_MAX)
702 if self.je.ctrls[JetDefs.F_EEVENTID].GetValue() < JetDefs.APPCONTROLLERID_MIN:
703 self.je.ctrls[JetDefs.F_EEVENTID].SetValue(JetDefs.APPCONTROLLERID_MIN)
704 if self.je.ctrls[JetDefs.F_EEVENTID].GetValue() > JetDefs.APPCONTROLLERID_MAX:
705 self.je.ctrls[JetDefs.F_EEVENTID].SetValue(JetDefs.APPCONTROLLERID_MAX)
707 def OnOk(self, event):
709 self.ShutdownPlayer()
710 if self.Validate():
711 self.je.ctrls[JetDefs.F_ESTART].UnBindKillFocus()
712 self.je.ctrls[JetDefs.F_EEND].UnBindKillFocus()
713 self.EndModal(wx.ID_OK)
715 def Validate(self):
717 if len(self.je.ctrls[JetDefs.F_ENAME].GetValue()) == 0:
719 self.je.ctrls[JetDefs.F_ENAME].SetFocus()
721 if len(self.je.ctrls[JetDefs.F_ETYPE].GetValue()) == 0:
723 self.je.ctrls[JetDefs.F_ETYPE].SetFocus()
725 if self.je.ctrls[JetDefs.F_ETYPE].GetValue() == JetDefs.E_CLIP:
726 if not CompareMbt(self.je.ctrls[JetDefs.F_ESTART].GetValue(), self.je.ctrls[JetDefs.F_EEND].GetValue()):
728 self.je.ctrls[JetDefs.F_ESTART].SetFocus()
730 if MbtVal(self.je.ctrls[JetDefs.F_ESTART].GetValue()) < MbtVal(self.je.ctrls[JetDefs.F_START].GetValue()):
732 self.je.ctrls[JetDefs.F_ESTART].SetFocus()
734 if MbtVal(self.je.ctrls[JetDefs.F_EEND].GetValue()) > MbtVal(self.je.ctrls[JetDefs.F_END].GetValue()):
736 self.je.ctrls[JetDefs.F_ESTART].SetFocus()
738 if self.je.ctrls[JetDefs.F_ETYPE].GetValue() == JetDefs.E_APP:
739 self.je.ctrls[JetDefs.F_EEND].SetValue(self.je.ctrls[JetDefs.F_ESTART].GetValue())
740 if self.je.ctrls[JetDefs.F_ETYPE].GetValue() == JetDefs.E_EOS:
741 self.je.ctrls[JetDefs.F_ESTART].SetValue(self.je.ctrls[JetDefs.F_EEND].GetValue())
744 def SetSegment(self, segment):
746 self.segment = segment
749 self.SetValue(JetDefs.F_SEGNAME, segment.segname)
750 self.SetValue(JetDefs.F_MUTEFLAGS, segment.mute_flags)
751 self.SetValue(JetDefs.F_MIDIFILE, segment.filename)
752 self.SetValue(JetDefs.F_DLSFILE, segment.dlsfile)
753 self.SetValue(JetDefs.F_START, segment.start)
754 self.SetValue(JetDefs.F_END, segment.end)
755 self.SetValue(JetDefs.F_QUANTIZE, segment.quantize)
756 self.SetValue(JetDefs.F_TRANSPOSE, segment.transpose)
757 self.SetValue(JetDefs.F_REPEAT, segment.repeat)
758 maxMeasures = abs(int(self.je.ctrls[JetDefs.F_END].GetValue('int')[0]))
759 self.je.ctrls[JetDefs.F_EEND].SetMaxMbt(maxMeasures+1,md.maxBeats,md.maxTicks)
760 self.je.ctrls[JetDefs.F_ESTART].SetMaxMbt(maxMeasures+1,md.maxBeats,md.maxTicks)
761 minMeasures = abs(int(self.je.ctrls[JetDefs.F_START].GetValue('int')[0]))
762 self.je.ctrls[JetDefs.F_EEND].SetMinMbt(minMeasures+1,0,0)
763 self.je.ctrls[JetDefs.F_ESTART].SetMinMbt(minMeasures+1,0,0)
764 self.je.ctrls[JetDefs.F_END].GetValue('int')
765 self.je.ctrls[JetDefs.F_ETRACK].SetRange(1, md.maxTracks)
766 self.je.ctrls[JetDefs.F_MUTEFLAGS].DeleteAllItems()
768 self.je.ctrls[JetDefs.F_MUTEFLAGS].AddTrackRow(track)
769 self.je.ctrls[JetDefs.F_MUTEFLAGS].CheckTracks(self.je.ctrls[JetDefs.F_MUTEFLAGS].GetValue())
770 self.je.ctrls[JetDefs.F_MUTEFLAGS].SetTextColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT))
771 self.je.ctrls[JetDefs.F_GRAPH].LoadSegment(segment, showLabels=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, 'bool', 'True'), showClips=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, 'bool', 'True'), showAppEvts=IniGetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, 'bool', 'True'))
773 def OnPlay(self, event):
775 if self.je.ctrls[JetDefs.F_PLAY].GetLabel() == JetDefs.BUT_STOP:
776 self.Player.SetKeepPlayingFlag(False)
779 if not self.Validate():
783 jetevents.append(JetEvent(self.GetValue(JetDefs.F_ENAME), self.GetValue(JetDefs.F_ETYPE),
784 self.event_id, int(self.GetValue(JetDefs.F_ETRACK)),
785 int(self.GetValue(JetDefs.F_ECHANNEL)),
786 self.GetValue(JetDefs.F_ESTART), self.GetValue(JetDefs.F_EEND)))
788 segment = JetSegment(self.GetValue(JetDefs.F_SEGNAME),
789 self.GetValue(JetDefs.F_MIDIFILE),
790 self.GetValue(JetDefs.F_START),
791 self.GetValue(JetDefs.F_END),
793 self.GetValue(JetDefs.F_SEGNAME),
794 self.GetValue(JetDefs.F_QUANTIZE),
796 self.GetValue(JetDefs.F_DLSFILE),
798 self.GetValue(JetDefs.F_TRANSPOSE),
799 self.GetValue(JetDefs.F_REPEAT),
800 self.GetValue(JetDefs.F_MUTEFLAGS))
802 self.Player = PreviewPlayer(self.je.ctrls[JetDefs.F_PLAY], segment)
803 self.Player.SetGraphCtrl(self.je.ctrls[JetDefs.F_GRAPH], self)
804 self.je.ctrls[JetDefs.F_GRAPH].ClickCallbackFct = self.GraphTriggerClip
805 self.Player.trigger_button = self.je.ctrls[JetDefs.F_ETRIGGERBUT]
806 self.Player.mute_button = self.je.ctrls[JetDefs.F_EMUTEBUT]
807 thread.start_new_thread(self.Player .Start, ())
809 def GraphTriggerClip(self, sClipName, iEventId):
811 if self.Player is not None:
812 self.Player.GraphTriggerClip(sClipName, iEventId)
814 def OnMute(self, event):
816 if self.Player is not None:
817 self.Player.MuteTrackViaButton(self.je.ctrls[JetDefs.F_EMUTEBUT],
818 int(self.je.ctrls[JetDefs.F_ETRACK].GetValue()))
820 def OnTriggerClip(self, event):
822 if self.Player is not None:
823 self.Player.TriggerClip(self.event_id)
825 def OnSetGraphOptions(self, evt):
827 IniSetValue(self.currentJetConfigFile, JetDefs.F_GRAPHLABELS, JetDefs.F_GRAPHLABELS, self.je.ctrls[JetDefs.F_GRAPHLABELS].GetValue())
828 IniSetValue(self.currentJetConfigFile, JetDefs.F_GRAPHAPPEVTS, JetDefs.F_GRAPHAPPEVTS, self.je.ctrls[JetDefs.F_GRAPHAPPEVTS].GetValue())
829 IniSetValue(self.currentJetConfigFile, JetDefs.F_GRAPHCLIPS, JetDefs.F_GRAPHCLIPS, self.je.ctrls[JetDefs.F_GRAPHCLIPS].GetValue())
830 self.UpdateGraph()
832 def OnReplicate(self, evt):
835 dlg.SetName(self.GetValue(JetDefs.F_ENAME))
836 dlg.event_type = self.GetValue(JetDefs.F_ETYPE)
837 dlg.event_max = self.segment.end
838 dlg.length = MbtDifference(ConvertStrTimeToTuple(self.GetValue(JetDefs.F_ESTART)), ConvertStrTimeToTuple(self.GetValue(JetDefs.F_EEND)))
841 self.replicatePrefix = dlg.GetValue(JetDefs.F_RPPREFIX)
842 self.lstReplicate = dlg.lstReplicate
843 self.chkReplaceMatching = dlg.GetValue(JetDefs.F_RPREPLACE)
844 self.EndModal(wx.ID_OK)
850 def __init__(self, title):
851 wx.Dialog.__init__(self, None, -1, title)
852 self.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
853 self.je = JetEdit(self, "REPLICATE_CTRLS", self)
855 self.je.ctrls[JetDefs.F_RPINCREMENT].SetMinMbt(0,0,0)
856 self.je.ctrls[JetDefs.F_RPINCREMENT].SetValue((-1,-1,-1))
857 self.je.ctrls[JetDefs.F_RPNUMBER].SetValue(1)
859 self.je.ctrls[JetDefs.F_RPGRDPREVIEW].AddCol(title, width)
860 self.lstReplicate = []
862 self.SetSize(JetDefs.REPLICATE_SIZE)
863 self.CenterOnParent()
865 def OnOk(self, event):
866 self.EndModal(wx.ID_OK)
868 def GetValue(self, fld):
869 return self.je.ctrls[fld].GetValue()
871 def SetValue(self, fld, val):
872 self.je.ctrls[fld].SetValue(val)
874 def SetName(self, name):
880 self.SetValue(JetDefs.F_RPPREFIX, name)
882 def Validate(self):
883 if self.GetValue(JetDefs.F_RPPREFIX) == '':
888 def OnPreview(self, event):
889 if not self.Validate():
891 start = MbtVal(self.GetValue(JetDefs.F_ESTART))
892 max = MbtVal(self.event_max)
893 increment = MbtVal((self.je.ctrls[JetDefs.F_RPINCREMENT].GetMeasure(), self.je.ctrls[JetDefs.F_RPINCREMENT].GetBeat(), self.je.ctrls[JetDefs.F_RPINCREMENT].GetTick()))
895 self.lstReplicate = []
896 iTo = int(self.GetValue(JetDefs.F_RPNUMBER))
898 evt_name = "%s %.2d" % (self.GetValue(JetDefs.F_RPPREFIX), i)
902 if self.event_type == JetDefs.E_CLIP or self.event_type == "SEGMENT":
903 e_ticks = s_ticks + self.length
910 self.lstReplicate.append((evt_name, evt_start, evt_end))
912 self.je.ctrls[JetDefs.F_RPGRDPREVIEW].DeleteAllItems()
913 self.je.ctrls[JetDefs.F_RPGRDPREVIEW].AddRows(self.lstReplicate)
917 def __init__(self, title):
918 wx.Dialog.__init__(self, None, -1, title)
919 self.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
920 self.je = JetEdit(self, "MOVE_CTRLS", self)
922 self.je.ctrls[JetDefs.F_RPINCREMENT].SetMinMbt(-999,-4,-480)
923 self.je.ctrls[JetDefs.F_RPINCREMENT].SetValue((-1,-1,-1))
925 self.je.ctrls[JetDefs.F_RPGRDPREVIEW].AddCol(title, width)
926 self.lstMove = []
927 self.lstMoveMbt = []
928 self.lstMoveItems = []
930 self.SetSize(JetDefs.REPLICATE_SIZE)
931 self.CenterOnParent()
933 def OnOk(self, event):
934 self.EndModal(wx.ID_OK)
936 def GetValue(self, fld):
937 return self.je.ctrls[fld].GetValue()
939 def SetValue(self, fld, val):
940 self.je.ctrls[fld].SetValue(val)
942 def OnPreview(self, event):
943 increment = MbtVal((abs(self.je.ctrls[JetDefs.F_RPINCREMENT].GetMeasure()), abs(self.je.ctrls[JetDefs.F_RPINCREMENT].GetBeat()), abs(self.je.ctrls[JetDefs.F_RPINCREMENT].GetTick())))
944 if self.je.ctrls[JetDefs.F_RPINCREMENT].GetMeasure() < 0 or self.je.ctrls[JetDefs.F_RPINCREMENT].GetBeat() < 0 or self.je.ctrls[JetDefs.F_RPINCREMENT].GetTick() < 0:
946 self.lstMove = []
947 self.lstMoveMbt = []
948 for itm in self.lstMoveItems:
965 self.lstMove.append((evt_name, evt_start, evt_end))
966 self.lstMoveMbt.append((evt_name, evt_start_save, evt_end_save))
968 self.je.ctrls[JetDefs.F_RPGRDPREVIEW].DeleteAllItems()
969 self.je.ctrls[JetDefs.F_RPGRDPREVIEW].AddRows(self.lstMove)