Skip to content

Commit

Permalink
refactor: #13 edited the event names of Synth class.
Browse files Browse the repository at this point in the history
  • Loading branch information
hiroxpepe committed Mar 11, 2021
1 parent 6253cf6 commit e55d715
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 41 deletions.
13 changes: 5 additions & 8 deletions MidiPlayer.Droid/MainActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,19 @@ protected override void OnCreate(Bundle savedInstanceState) {
initializeComponent();
Conf.Load();

int _count = 0;
Synth.OnMessage += (IntPtr data, IntPtr evt) => {
//Log.Info($"OnMessage count: {_count}");
_count++;
Synth.Playbacking += (IntPtr data, IntPtr evt) => {
return Synth.HandleEvent(data, evt);
};

Synth.OnStart += () => {
Log.Info("OnStart called.");
Synth.Started += () => {
Log.Info("Started called.");
MainThread.BeginInvokeOnMainThread(() => {
Title = $"MidiPlayer: {Synth.MidiFilePath.ToFileName()} {Synth.SoundFontPath.ToFileName()}";
});
};

Synth.OnEnd += () => {
Log.Info("OnEnd called.");
Synth.Ended += () => {
Log.Info("Ended called.");
if (!playList.Ready) {
Synth.Stop();
Synth.Start();
Expand Down
46 changes: 23 additions & 23 deletions MidiPlayer.FluidSynth/Synth.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ public class Synth {

static handle_midi_event_func_t event_callback;

static Func<IntPtr, IntPtr, int> onMessage;
static Func<IntPtr, IntPtr, int> onPlaybacking;

static Action onStart;
static Action onStarted;

static Action onEnd;
static Action onEnded;

static Action<object, PropertyChangedEventArgs> onUpdate;
static Action<object, PropertyChangedEventArgs> onUpdated;

static string soundFontPath;

Expand All @@ -56,7 +56,7 @@ public class Synth {
// static Constructor

static Synth() {
onMessage += (void_ptr data, fluid_midi_event_t evt) => {
onPlaybacking += (void_ptr data, fluid_midi_event_t evt) => {
Enumerable.Range(0, 16).ToList().ForEach(x => {
var _data = EventQueue.Dequeue(x);
if (!(_data is null)) {
Expand Down Expand Up @@ -122,27 +122,27 @@ public static bool Playing {
///////////////////////////////////////////////////////////////////////////////////////////////
// static Events [verb, verb phrase]

public static event Func<IntPtr, IntPtr, int> OnMessage {
public static event Func<IntPtr, IntPtr, int> Playbacking {
add {
onMessage += value;
event_callback = new handle_midi_event_func_t(onMessage);
onPlaybacking += value;
event_callback = new handle_midi_event_func_t(onPlaybacking);
}
remove => onMessage -= value;
remove => onPlaybacking -= value;
}

public static event Action OnStart {
add => onStart += value;
remove => onStart -= value;
public static event Action Started {
add => onStarted += value;
remove => onStarted -= value;
}

public static event Action OnEnd {
add => onEnd += value;
remove => onEnd -= value;
public static event Action Ended {
add => onEnded += value;
remove => onEnded -= value;
}

public static event Action<object, PropertyChangedEventArgs> OnUpdate {
add => onUpdate += value;
remove => onUpdate -= value;
public static event Action<object, PropertyChangedEventArgs> Updated {
add => onUpdated += value;
remove => onUpdated -= value;
}

///////////////////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -177,7 +177,7 @@ public static void Init() {
}
Multi.StandardMidiFile = standardMidiFile;
Enumerable.Range(0, 16).ToList().ForEach(x => {
Multi.Get(x).PropertyChanged += onUpdateCallBack;
Multi.Get(x).PropertyChanged += onPropertyChanged;
});
int _result = fluid_player_add(player, MidiFilePath);
if (_result == FLUID_FAILED) {
Expand Down Expand Up @@ -205,11 +205,11 @@ public static void Start() {
adriver = new_fluid_audio_driver(setting, synth);
fluid_player_play(player);
Log.Info("start :)");
onStart();
onStarted();
fluid_player_join(player);
Log.Info("end :D");
if (stopping == false) {
onEnd();
onEnded();
}
} catch (Exception ex) {
Log.Error(ex.Message);
Expand Down Expand Up @@ -294,8 +294,8 @@ static void final() {
}
}

static void onUpdateCallBack(object sender, PropertyChangedEventArgs e) {
onUpdate(sender, e);
static void onPropertyChanged(object sender, PropertyChangedEventArgs e) {
onUpdated(sender, e);
}

///////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
12 changes: 6 additions & 6 deletions MidiPlayer.Win64/MainForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ void MainForm_Load(object sender, EventArgs e) {
Conf.Load();
initializeControl();

Synth.OnMessage += (IntPtr data, IntPtr evt) => {
Synth.Playbacking += (IntPtr data, IntPtr evt) => {
return Synth.HandleEvent(data, evt);
};

Synth.OnStart += () => {
Log.Info("OnStart called.");
Synth.Started += () => {
Log.Info("Started called.");
Invoke((MethodInvoker) (() => {
Text = $"MidiPlayer: {Synth.MidiFilePath.ToFileName()} {Synth.SoundFontPath.ToFileName()}";
listView.Items.Clear();
Expand All @@ -52,8 +52,8 @@ void MainForm_Load(object sender, EventArgs e) {
}));
};

Synth.OnEnd += () => {
Log.Info("OnEnd called.");
Synth.Ended += () => {
Log.Info("Ended called.");
if (!playList.Ready) {
Synth.Stop();
Synth.Start();
Expand All @@ -64,7 +64,7 @@ void MainForm_Load(object sender, EventArgs e) {
}
};

Synth.OnUpdate += (object sender, PropertyChangedEventArgs e) => {
Synth.Updated += (object sender, PropertyChangedEventArgs e) => {
var _track = (Synth.Track) sender;
Invoke(updateList(_track));
};
Expand Down
8 changes: 4 additions & 4 deletions MidiPlayerTests/SynthTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,14 @@ public void GetTrackNameTest3() {
public void TestInitialize() {
Synth.SoundFontPath = "../data/OmegaGMGS2.sf2";
Synth.MidiFilePath = "../data/Cmon_v1.mid";
Synth.OnMessage += (IntPtr data, IntPtr evt) => {
Synth.Playbacking += (IntPtr data, IntPtr evt) => {
return Synth.HandleEvent(data, evt);
};
Synth.OnStart += () => {
Synth.Start += () => {
};
Synth.OnEnd += () => {
Synth.Ended += () => {
};
Synth.OnUpdate += (object sender, PropertyChangedEventArgs e) => {
Synth.Updated += (object sender, PropertyChangedEventArgs e) => {
};
playSong();
Sleep(3000);
Expand Down

0 comments on commit e55d715

Please sign in to comment.