WIP: track creation and deletion both in frontend and backend.
This commit is contained in:
@@ -7,6 +7,9 @@ namespace AudioEditor;
|
||||
public partial class ProjectController : Node
|
||||
{
|
||||
[Signal] public delegate void AudioClipDroppedEventHandler(Vector2 atPosition, string path, string clipName, double startTime, double endTime);
|
||||
[Signal] public delegate void OnTrackAddedEventHandler(int idx);
|
||||
[Signal] public delegate void OnTrackRenamedEventHandler(int idx, string name);
|
||||
[Signal] public delegate void OnTrackDuplicatedEventHandler(int idx);
|
||||
[Signal] public delegate void OnTrackDeletedEventHandler(int trackIdx);
|
||||
|
||||
public override void _Ready()
|
||||
@@ -14,9 +17,28 @@ public partial class ProjectController : Node
|
||||
GetWindow().FilesDropped += FilesDropped;
|
||||
}
|
||||
|
||||
public void DeleteTrack(int trackIdx)
|
||||
public void AddTrack(int idx = 0)
|
||||
{
|
||||
_project.AddTrack();
|
||||
EmitSignal(SignalName.OnTrackAdded, _project.TrackCount - 1);
|
||||
}
|
||||
|
||||
public void DuplicateTrack(int idx)
|
||||
{
|
||||
_project.DuplicateTrack(idx);
|
||||
EmitSignal(SignalName.OnTrackDuplicated, idx);
|
||||
}
|
||||
|
||||
public void RenameTrack(int idx, string name)
|
||||
{
|
||||
_project.RenameTrack(idx, name);
|
||||
EmitSignal(SignalName.OnTrackRenamed, idx, name);
|
||||
}
|
||||
|
||||
public void DeleteTrack(int idx)
|
||||
{
|
||||
_project.DeleteTrack(idx);
|
||||
EmitSignal(SignalName.OnTrackDeleted, idx);
|
||||
}
|
||||
|
||||
public void CreateAudioClipPreview(Control audioClip)
|
||||
@@ -54,4 +76,6 @@ public partial class ProjectController : Node
|
||||
|
||||
EmitSignal(SignalName.AudioClipDropped, mousePosition, path, fileName, 0, waveformInfo.Length.TotalMilliseconds);
|
||||
}
|
||||
|
||||
private Project _project = new();
|
||||
}
|
||||
Reference in New Issue
Block a user