By setting the custom camera device override in iidxhook.conf to SKIP, bemanitools will now leave that camera unassigned. This is particularly useful for leaving camera 1 unassigned and letting bemanitools automatically map camera 2; most people have their webcams pointed at their face, and camera 2 corresponds to the face cam ingame whereas camera 1 is the hand cam. Also if someone for some reason wanted to use the QR scanning function, that goes through camera 2, so someone with only one camera would have been completely unable to use that.
By setting the custom camera device override in iidxhook.conf to SKIP, bemanitools will now leave that camera unassigned. This is particularly useful for leaving camera 1 unassigned and letting bemanitools automatically map camera 2; most people have their webcams pointed at their face, and camera 2 corresponds to the face cam ingame whereas camera 1 is the hand cam. Also if someone for some reason wanted to use the QR scanning function, that goes through camera 2, so someone with only one camera would have been completely unable to use that.
I am a bit on the fence for using the string SKIP here as the implied type for this field is a device path. Mixing it's purpose with a new type of feature switch makes this switch more complex and blurry to understand.
Instead, I suggest to add an explicit new option in config-cam that allows you to "disable" specific cameras (as far as I understand the idea of "unassigned" here and what it does for the end-user).
I am a bit on the fence for using the string `SKIP` here as the implied type for this field is a device path. Mixing it's purpose with a new type of feature switch makes this switch more complex and blurry to understand.
Instead, I suggest to add an explicit new option in [config-cam](https://github.com/djhackersdev/bemanitools/blob/e9d24f7f90d9e60e6a922ea969fb56b89a7d9914/src/main/camhook/config-cam.h#L13) that allows you to "disable" specific cameras (as far as I understand the idea of "unassigned" here and what it does for the end-user).
```c
struct camhook_config_cam {
bool disable_emu;
size_t num_devices;
char device_id[CAMHOOK_CONFIG_CAM_MAX][MAX_PATH];
bool disable_cam;
};
```
I agree with the bit from icex2 about not using "SKIP" otherwise sounds reasonable to me, if adding the config is too much of a lift, let me know, I can make the changes and submit a new PR for you
I agree with the bit from icex2 about not using "SKIP" otherwise sounds reasonable to me, if adding the config is too much of a lift, let me know, I can make the changes and submit a new PR for you
I glanced at the code this morning and I think I can figure it out. Not sure if I'll have time tonight, if you want to do it in the meantime go ahead, otherwise I'll fix it up when I can.
I was thinking of something like adding cam.enable_camera1 and cam.enable_camera2 which would both default to true.
I glanced at the code this morning and I think I can figure it out. Not sure if I'll have time tonight, if you want to do it in the meantime go ahead, otherwise I'll fix it up when I can.
I was thinking of something like adding cam.enable_camera1 and cam.enable_camera2 which would both default to true.
yep that sounds reasonable, main issue is the config keys, etc. since the config format doesn't support arrays, but if you check how device_id is handled, should be pretty clear
>
yep that sounds reasonable, main issue is the config keys, etc. since the config format doesn't support arrays, but if you check how device_id is handled, should be pretty clear
Okay, now the config files for iidx25-29 include a cam.disable_camera1 and cam.disable_camera2 option, which both default to false.
Also, while I was updating iidxhook-27.conf, I aligned the cam.disable_emu default with iidx28/29's default
Okay, now the config files for iidx25-29 include a cam.disable_camera1 and cam.disable_camera2 option, which both default to false.
Also, while I was updating iidxhook-27.conf, I aligned the cam.disable_emu default with iidx28/29's default
# Override camera device ID 2 detection (copy from device manager, do not escape) Leave blank to automatically detect
I think this still needs to be removed
```suggestion
# Override camera device ID 2 detection (copy from device manager, do not escape) Leave blank to automatically detect
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
By setting the custom camera device override in iidxhook.conf to SKIP, bemanitools will now leave that camera unassigned. This is particularly useful for leaving camera 1 unassigned and letting bemanitools automatically map camera 2; most people have their webcams pointed at their face, and camera 2 corresponds to the face cam ingame whereas camera 1 is the hand cam. Also if someone for some reason wanted to use the QR scanning function, that goes through camera 2, so someone with only one camera would have been completely unable to use that.
I am a bit on the fence for using the string
SKIPhere as the implied type for this field is a device path. Mixing it's purpose with a new type of feature switch makes this switch more complex and blurry to understand.Instead, I suggest to add an explicit new option in config-cam that allows you to "disable" specific cameras (as far as I understand the idea of "unassigned" here and what it does for the end-user).
Also requsted review from @willxinc. I think he knows that part of the code better than I do.
It would need to be an array, but that seems reasonable to me, would probably simplify the check later too.
I agree with the bit from icex2 about not using "SKIP" otherwise sounds reasonable to me, if adding the config is too much of a lift, let me know, I can make the changes and submit a new PR for you
I glanced at the code this morning and I think I can figure it out. Not sure if I'll have time tonight, if you want to do it in the meantime go ahead, otherwise I'll fix it up when I can.
I was thinking of something like adding cam.enable_camera1 and cam.enable_camera2 which would both default to true.
yep that sounds reasonable, main issue is the config keys, etc. since the config format doesn't support arrays, but if you check how device_id is handled, should be pretty clear
Okay, now the config files for iidx25-29 include a cam.disable_camera1 and cam.disable_camera2 option, which both default to false.
Also, while I was updating iidxhook-27.conf, I aligned the cam.disable_emu default with iidx28/29's default
I think this still needs to be removed
Dito
Nice job. lgtm aside the few cleanups that I pointed out. Will approve and merge once that's done.
You're right I forgot to change that back >_>