summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev/midiout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/imagedev/midiout.cpp')
-rw-r--r--src/devices/imagedev/midiout.cpp40
1 files changed, 19 insertions, 21 deletions
diff --git a/src/devices/imagedev/midiout.cpp b/src/devices/imagedev/midiout.cpp
index 3c0613e2015..67efce46f93 100644
--- a/src/devices/imagedev/midiout.cpp
+++ b/src/devices/imagedev/midiout.cpp
@@ -9,9 +9,11 @@
*********************************************************************/
#include "emu.h"
-#include "osdepend.h"
#include "midiout.h"
+#include "osdepend.h"
+
+
/***************************************************************************
IMPLEMENTATION
***************************************************************************/
@@ -23,10 +25,14 @@ DEFINE_DEVICE_TYPE(MIDIOUT, midiout_device, "midiout", "MIDI Out image device")
-------------------------------------------------*/
midiout_device::midiout_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MIDIOUT, tag, owner, clock),
- device_image_interface(mconfig, *this),
- device_serial_interface(mconfig, *this),
- m_midi(nullptr)
+ : device_t(mconfig, MIDIOUT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_serial_interface(mconfig, *this)
+ , m_midi()
+{
+}
+
+midiout_device::~midiout_device()
{
}
@@ -36,7 +42,7 @@ midiout_device::midiout_device(const machine_config &mconfig, const char *tag, d
void midiout_device::device_start()
{
- m_midi = nullptr;
+ m_midi.reset();
}
void midiout_device::device_reset()
@@ -51,32 +57,24 @@ void midiout_device::device_reset()
call_load
-------------------------------------------------*/
-image_init_result midiout_device::call_load(void)
+std::pair<std::error_condition, std::string> midiout_device::call_load()
{
- m_midi = machine().osd().create_midi_device();
-
- if (!m_midi->open_output(filename()))
+ m_midi = machine().osd().create_midi_output(filename());
+ if (!m_midi)
{
- global_free(m_midi);
- m_midi = nullptr;
- return image_init_result::FAIL;
+ return std::make_pair(image_error::UNSPECIFIED, std::string());
}
- return image_init_result::PASS;
+ return std::make_pair(std::error_condition(), std::string());
}
/*-------------------------------------------------
call_unload
-------------------------------------------------*/
-void midiout_device::call_unload(void)
+void midiout_device::call_unload()
{
- if (m_midi)
- {
- m_midi->close();
- global_free(m_midi);
- m_midi = nullptr;
- }
+ m_midi.reset();
}
void midiout_device::rcv_complete() // Rx completed receiving byte