Beispiel #1
0
static void
_bmlw_get_machine_info (BmlIpcBuf * bi, BmlIpcBuf * bo)
{
  BuzzMachineHandle *bmh = (BuzzMachineHandle *) bmlipc_read_int (bi);
  BuzzMachineProperty key = bmlipc_read_int (bi);
  int ival, ret;
  char *sval;
  switch (key) {
    case BM_PROP_TYPE:
    case BM_PROP_VERSION:
    case BM_PROP_FLAGS:
    case BM_PROP_MIN_TRACKS:
    case BM_PROP_MAX_TRACKS:
    case BM_PROP_NUM_GLOBAL_PARAMS:
    case BM_PROP_NUM_TRACK_PARAMS:
    case BM_PROP_NUM_ATTRIBUTES:
    case BM_PROP_NUM_INPUT_CHANNELS:
    case BM_PROP_NUM_OUTPUT_CHANNELS:
      ret = bmlw_get_machine_info (bmh, key, &ival);
      bmlipc_write_int (bo, (ret ? 1 : 0));
      bmlipc_write_int (bo, ival);
      break;
    case BM_PROP_NAME:
    case BM_PROP_SHORT_NAME:
    case BM_PROP_AUTHOR:
    case BM_PROP_COMMANDS:
    case BM_PROP_DLL_NAME:
      ret = bmlw_get_machine_info (bmh, key, &sval);
      bmlipc_write_int (bo, (ret ? 2 : 0));
      if (sval) {
        bmlipc_write_string (bo, sval);
      }
      break;
  }
}
Beispiel #2
0
int
bmlw_get_machine_info (BuzzMachineHandle * bmh, BuzzMachineProperty key,
    void *value)
{
  int ret;

  win32_prolog ();
  ret = BMLX (bmlw_get_machine_info (bmh, key, value));
  win32_eliplog ();
  return ret;
}