## Link to GitHub Issue, if one exists
#345
## Description of change
When DLL is configured to use TDJ I/O but spice is in LDJ mode, show an
error in LED ticker suggesting the user to turn on `-iidxtdj`.
When DLL is configured to use LDJ I/O but spice is in TDJ mode, show an
error in TDJ overaly suggesting the user to fix the DLL.
Fix a small bug that caused a white window to be created when `-w` is
enabled even when `-iidxtdj` is not, but DLL is using TDJ I/O.
## Link to GitHub Issue, if one exists
#345
## Description of change
If TDJ / VM mode is active AND user is enabled `-monitor` option (and
the value isn't 0, the primary monitor)
then disable the subscreen overlay, show an error message instead.
We're doing this because both games cannot accept emulated touch input
if `-monitor` option is in use. There is not much point in displaying
the second screen's image, other than to REALLY confuse people when
nothing happens when they click on it.
## Testing
Tested both games with `-monitor`.
## Link to GitHub Issue, if one exists
#345
## Description of change
For IIDX31+, detect if BI2A or BI2X I/O emulation becomes active, and
see if there is a mismatch between the -iidxtdj setting.
Right now a mismatch results in warning in log + deferred error log, but
in the future we could turn this into a fatal error and crash the game
to make it more obvious.
## Testing
Tested 4 combinations:
1. DLL in LDJ mode + -iidxtdj off (pass)
2. DLL in LDJ mode + -iidxtdj on (error)
3. DLL in TDJ mode + -iidxtdj off (error)
4. DLL in TDJ mode + -iidxtdj on (pass)
## Link to GitHub Issue, if one exists
For #345
Similar idea as https://github.com/spice2x/spice2x.github.io/pull/350
## Description of change
Disable camera access by default by setting `CONNECT_CAMERA` environment
var to 0 before launching. This was one of those "required" things
people clicked on, but now it's done automatically to reduce friction
for new users.
On cab setups (i.e., running without -iidx module), cameras will remain
on, unless user overrides it.
On franken setups (partial I/O) - user will need to specify what they
want via the new option, we can't guess correctly.
## Testing
## Link to GitHub Issue, if one exists
#41 (partially)
## Description of change
This PR adds support for outputting IIDX tape LED data via spiceapi
(`iidx_tapeled_get()`). It returns the data as a `dict`, with the key
being the LED name and the value being the list of RGB values. You can
optionally pass in a variadic list of names to filter the returned data.
The new API function is only implemented in Python since I'm not able to
test the wrappers in other languages.
An example script using the new API is available in this Beef Board PR:
https://github.com/HWXLR8/beef-board/pull/133.
Demo use case: https://streamable.com/pq5e1e
## Testing
Tested in IIDX 32 with custom Beef Board firmware along with a Python
script to read and send the tape LED data over USB.