mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
(nw) updated debug media menu to latest version
This commit is contained in:
parent
32c11865b7
commit
5d0a3f2f40
@ -50,7 +50,7 @@ consolewin_info::consolewin_info(debugger_windows_interface &debugger) :
|
|||||||
osd::text::tstring tc_buf = osd::text::to_tstring(string_format("%s : %s", img.device().name(), img.exists() ? img.filename() : "[no image]"));
|
osd::text::tstring tc_buf = osd::text::to_tstring(string_format("%s : %s", img.device().name(), img.exists() ? img.filename() : "[no image]"));
|
||||||
AppendMenu(m_devices_menu, MF_ENABLED, 0, tc_buf.c_str());
|
AppendMenu(m_devices_menu, MF_ENABLED, 0, tc_buf.c_str());
|
||||||
}
|
}
|
||||||
AppendMenu(GetMenu(window()), MF_ENABLED | MF_POPUP, (UINT_PTR)m_devices_menu, TEXT("Images"));
|
AppendMenu(GetMenu(window()), MF_ENABLED | MF_POPUP, (UINT_PTR)m_devices_menu, TEXT("Media"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the work bounds
|
// get the work bounds
|
||||||
@ -192,17 +192,27 @@ void consolewin_info::update_menu()
|
|||||||
|
|
||||||
if (img.is_creatable())
|
if (img.is_creatable())
|
||||||
AppendMenu(devicesubmenu, MF_STRING, new_item + DEVOPTION_CREATE, TEXT("Create..."));
|
AppendMenu(devicesubmenu, MF_STRING, new_item + DEVOPTION_CREATE, TEXT("Create..."));
|
||||||
AppendMenu(devicesubmenu, flags_for_exists, new_item + DEVOPTION_CLOSE, TEXT("Unmount"));
|
|
||||||
|
|
||||||
if (img.device().type() == CASSETTE)
|
if (img.exists())
|
||||||
{
|
{
|
||||||
cassette_state const state = (cassette_state)(img.exists() ? (downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_UISTATE) : CASSETTE_STOPPED);
|
AppendMenu(devicesubmenu, flags_for_exists, new_item + DEVOPTION_CLOSE, TEXT("Unmount"));
|
||||||
AppendMenu(devicesubmenu, MF_SEPARATOR, 0, nullptr);
|
|
||||||
AppendMenu(devicesubmenu, flags_for_exists | ((state == CASSETTE_STOPPED) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_STOPPAUSE, TEXT("Pause/Stop"));
|
if (img.device().type() == CASSETTE)
|
||||||
AppendMenu(devicesubmenu, flags_for_exists | ((state == CASSETTE_PLAY) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_PLAY, TEXT("Play"));
|
{
|
||||||
AppendMenu(devicesubmenu, flags_for_writing | ((state == CASSETTE_RECORD) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_RECORD, TEXT("Record"));
|
cassette_state const state = cassette_state(downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_UISTATE);
|
||||||
AppendMenu(devicesubmenu, flags_for_exists, new_item + DEVOPTION_CASSETTE_REWIND, TEXT("Rewind"));
|
AppendMenu(devicesubmenu, MF_SEPARATOR, 0, nullptr);
|
||||||
AppendMenu(devicesubmenu, flags_for_exists, new_item + DEVOPTION_CASSETTE_FASTFORWARD, TEXT("Fast Forward"));
|
AppendMenu(devicesubmenu, flags_for_exists | ((state == CASSETTE_STOPPED) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_STOPPAUSE, TEXT("Pause/Stop"));
|
||||||
|
AppendMenu(devicesubmenu, flags_for_exists | ((state == CASSETTE_PLAY) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_PLAY, TEXT("Play"));
|
||||||
|
AppendMenu(devicesubmenu, flags_for_writing | ((state == CASSETTE_RECORD) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_RECORD, TEXT("Record"));
|
||||||
|
AppendMenu(devicesubmenu, flags_for_exists, new_item + DEVOPTION_CASSETTE_REWIND, TEXT("Rewind"));
|
||||||
|
AppendMenu(devicesubmenu, flags_for_exists, new_item + DEVOPTION_CASSETTE_FASTFORWARD, TEXT("Fast Forward"));
|
||||||
|
AppendMenu(devicesubmenu, MF_SEPARATOR, 0, nullptr);
|
||||||
|
// Motor state can be overriden by the driver
|
||||||
|
cassette_state const motor_state = cassette_state(downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_MOTOR);
|
||||||
|
AppendMenu(devicesubmenu, flags_for_exists | ((motor_state == CASSETTE_MOTOR_ENABLED) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_MOTOR, TEXT("Motor"));
|
||||||
|
cassette_state const speaker_state = cassette_state(downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_SPEAKER);
|
||||||
|
AppendMenu(devicesubmenu, flags_for_exists | ((speaker_state == CASSETTE_SPEAKER_ENABLED) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_SOUND, TEXT("Audio while Loading"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string filename;
|
std::string filename;
|
||||||
@ -434,6 +444,7 @@ bool consolewin_info::handle_command(WPARAM wparam, LPARAM lparam)
|
|||||||
if (img->device().type() == CASSETTE)
|
if (img->device().type() == CASSETTE)
|
||||||
{
|
{
|
||||||
cassette_image_device *const cassette = downcast<cassette_image_device *>(&img->device());
|
cassette_image_device *const cassette = downcast<cassette_image_device *>(&img->device());
|
||||||
|
bool s;
|
||||||
switch ((LOWORD(wparam) - ID_DEVICE_OPTIONS) % DEVOPTION_MAX)
|
switch ((LOWORD(wparam) - ID_DEVICE_OPTIONS) % DEVOPTION_MAX)
|
||||||
{
|
{
|
||||||
case DEVOPTION_CASSETTE_STOPPAUSE:
|
case DEVOPTION_CASSETTE_STOPPAUSE:
|
||||||
@ -446,11 +457,19 @@ bool consolewin_info::handle_command(WPARAM wparam, LPARAM lparam)
|
|||||||
cassette->change_state(CASSETTE_RECORD, CASSETTE_MASK_UISTATE);
|
cassette->change_state(CASSETTE_RECORD, CASSETTE_MASK_UISTATE);
|
||||||
return true;
|
return true;
|
||||||
case DEVOPTION_CASSETTE_REWIND:
|
case DEVOPTION_CASSETTE_REWIND:
|
||||||
cassette->seek(-60.0, SEEK_CUR);
|
cassette->seek(0.0, SEEK_SET); // to start
|
||||||
return true;
|
return true;
|
||||||
case DEVOPTION_CASSETTE_FASTFORWARD:
|
case DEVOPTION_CASSETTE_FASTFORWARD:
|
||||||
cassette->seek(+60.0, SEEK_CUR);
|
cassette->seek(+300.0, SEEK_CUR); // 5 minutes forward or end, whichever comes first
|
||||||
return true;
|
break;
|
||||||
|
case DEVOPTION_CASSETTE_MOTOR:
|
||||||
|
s =((cassette->get_state() & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_DISABLED);
|
||||||
|
cassette->change_state(s ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
|
||||||
|
break;
|
||||||
|
case DEVOPTION_CASSETTE_SOUND:
|
||||||
|
s =((cassette->get_state() & CASSETTE_MASK_SPEAKER) == CASSETTE_SPEAKER_MUTED);
|
||||||
|
cassette->change_state(s ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED, CASSETTE_MASK_SPEAKER);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,8 @@ private:
|
|||||||
DEVOPTION_CASSETTE_RECORD,
|
DEVOPTION_CASSETTE_RECORD,
|
||||||
DEVOPTION_CASSETTE_REWIND,
|
DEVOPTION_CASSETTE_REWIND,
|
||||||
DEVOPTION_CASSETTE_FASTFORWARD,
|
DEVOPTION_CASSETTE_FASTFORWARD,
|
||||||
|
DEVOPTION_CASSETTE_MOTOR,
|
||||||
|
DEVOPTION_CASSETTE_SOUND,
|
||||||
DEVOPTION_MAX
|
DEVOPTION_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user