diff examples/example-audio/example-audio.c @ 486:d6757c30658e

core: rework errors
author David Demelier <markand@malikania.fr>
date Tue, 28 Feb 2023 13:04:13 +0100
parents 3ff1fe64d0cd
children fce3b3c4b496
line wrap: on
line diff
--- a/examples/example-audio/example-audio.c	Tue Feb 28 08:40:35 2023 +0100
+++ b/examples/example-audio/example-audio.c	Tue Feb 28 13:04:13 2023 +0100
@@ -32,15 +32,12 @@
 #include <mlk/ui/theme.h>
 #include <mlk/ui/ui.h>
 
-#include <assets/music/vabsounds-romance.h>
-#include <assets/sounds/fire.h>
-
-#define W       1280
-#define H       720
+#include <mlk/example/example.h>
+#include <mlk/example/registry.h>
 
 static struct mlk_state *states[1];
-static struct mlk_music music;
-static struct mlk_sound sound;
+static struct mlk_music *music;
+static struct mlk_sound *sound;
 
 static struct label label_music = {
 	.text = "Music: <Space> play, <p> pause, <r> resume, <q> stop, <l> loop.",
@@ -59,13 +56,13 @@
 static void
 init(void)
 {
-	if (mlk_core_init("fr.malikania", "example-audio") < 0 || ui_init() < 0)
-		mlk_panic();
-	if (mlk_window_open("Example - Audio", W, H) < 0)
-		mlk_panic();
-	if (mlk_music_openmem(&music, assets_music_vabsounds_romance, sizeof (assets_music_vabsounds_romance)) < 0 ||
-	    mlk_sound_openmem(&sound, assets_sounds_fire, sizeof (assets_sounds_fire)) < 0)
-		mlk_panic();
+	int err;
+
+	if ((err = mlk_example_init("example-audio")) < 0)
+		mlk_panicf("mlk_example_init: %s", mlk_err_string(err));
+
+	sound = &registry_sounds[REGISTRY_SOUND_FIRE];
+	music = &registry_music[REGISTRY_MUSIC_ROMANCE];
 }
 
 static void
@@ -81,27 +78,29 @@
 {
 	(void)st;
 
+	int err;
+
 	switch (ev->type) {
 	case MLK_EVENT_CLICKDOWN:
-		if (mlk_sound_play(&sound) < 0)
-			mlk_panic();
+		if ((err = mlk_sound_play(sound)) < 0)
+			mlk_panic(err);
 		break;
 	case MLK_EVENT_KEYDOWN:
 		switch (ev->key.key) {
 		case MLK_KEY_p:
-			mlk_music_pause(&music);
+			mlk_music_pause(music);
 			break;
 		case MLK_KEY_r:
-			mlk_music_resume(&music);
+			mlk_music_resume(music);
 			break;
 		case MLK_KEY_q:
-			mlk_music_stop(&music);
+			mlk_music_stop(music);
 			break;
 		case MLK_KEY_l:
-			mlk_music_play(&music, MLK_MUSIC_LOOP);
+			mlk_music_play(music, MLK_MUSIC_LOOP);
 			break;
 		case MLK_KEY_SPACE:
-			mlk_music_play(&music, 0);
+			mlk_music_play(music, 0);
 			break;
 		default:
 			break;