From af39f2e08b0503db723ae707a5c7278d8c85f812 Mon Sep 17 00:00:00 2001
From: Clyne Sullivan <clyne@bitgloo.com>
Date: Tue, 1 Oct 2019 20:50:28 -0400
Subject: Audio component loading, getting ready to play

---
 src/components/Audio.hpp | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

(limited to 'src/components/Audio.hpp')

diff --git a/src/components/Audio.hpp b/src/components/Audio.hpp
index 3f7296d..a97b235 100644
--- a/src/components/Audio.hpp
+++ b/src/components/Audio.hpp
@@ -24,14 +24,23 @@
 struct Audio : Component<Audio>
 {
 public:
+    std::string fileName;
     ALuint source;
+    ALuint buffer;
 
-    Audio(ALuint _source = 0) :
-        source(_source) {}
+    Audio(std::string _fileName = "") :
+        fileName(_fileName), source(0), buffer(0) {}
 
-    Audio FromLua([[maybe_unused]] sol::object ref)
+    Audio FromLua(sol::object ref)
     {
-        // TODO load from file name?
+        if (ref.get_type() == sol::type::table) {
+            sol::table tab = ref;
+            if (tab["file"] != nullptr)
+                this->fileName = tab["file"];
+        } else {
+            throw std::string("Audio table not formatted properly");
+        }
+
         return *this;
     }
 
-- 
cgit v1.2.3