/[svn]/liblscp/trunk/src/client.c
ViewVC logotype

Diff of /liblscp/trunk/src/client.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 952 by capela, Tue Nov 28 22:46:32 2006 UTC revision 963 by capela, Sun Dec 3 18:30:04 2006 UTC
# Line 1670  int lscp_get_total_voice_count_max ( lsc Line 1670  int lscp_get_total_voice_count_max ( lsc
1670  lscp_status_t lscp_map_midi_instrument ( lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr, const char *pszEngineName, const char *pszFileName, int iInstrIndex, float fVolume, lscp_load_mode_t load_mode, const char *pszName )  lscp_status_t lscp_map_midi_instrument ( lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr, const char *pszEngineName, const char *pszFileName, int iInstrIndex, float fVolume, lscp_load_mode_t load_mode, const char *pszName )
1671  {  {
1672          char szQuery[LSCP_BUFSIZ];          char szQuery[LSCP_BUFSIZ];
1673            
1674          if (pMidiInstr->bank_msb < 0 || pMidiInstr->bank_msb > 127)          if (pMidiInstr->bank_msb < 0 || pMidiInstr->bank_msb > 127)
1675                  return LSCP_FAILED;                  return LSCP_FAILED;
1676          if (pMidiInstr->bank_lsb < 0 || pMidiInstr->bank_lsb > 127)          if (pMidiInstr->bank_lsb < 0 || pMidiInstr->bank_lsb > 127)
# Line 1679  lscp_status_t lscp_map_midi_instrument ( Line 1679  lscp_status_t lscp_map_midi_instrument (
1679                  return LSCP_FAILED;                  return LSCP_FAILED;
1680          if (pszEngineName == NULL || pszFileName == NULL)          if (pszEngineName == NULL || pszFileName == NULL)
1681                  return LSCP_FAILED;                  return LSCP_FAILED;
1682            
1683          if (fVolume < 0.0f)          if (fVolume < 0.0f)
1684                  fVolume = 1.0f;                  fVolume = 1.0f;
1685            
1686          sprintf(szQuery, "MAP MIDI_INSTRUMENT %d %d %d %s '%s' %d %g",          sprintf(szQuery, "MAP MIDI_INSTRUMENT %d %d %d %s '%s' %d %g",
1687                  pMidiInstr->bank_msb, pMidiInstr->bank_lsb, pMidiInstr->program,                  pMidiInstr->bank_msb, pMidiInstr->bank_lsb, pMidiInstr->program,
1688                  pszEngineName, pszFileName, iInstrIndex, fVolume);                  pszEngineName, pszFileName, iInstrIndex, fVolume);
1689            
1690          switch (load_mode) {          switch (load_mode) {
1691          case LSCP_LOAD_PERSISTENT:          case LSCP_LOAD_PERSISTENT:
1692                  strcat(szQuery, " PERSISTENT");                  strcat(szQuery, " PERSISTENT");
# Line 1695  lscp_status_t lscp_map_midi_instrument ( Line 1695  lscp_status_t lscp_map_midi_instrument (
1695                  strcat(szQuery, " ON_DEMAND_HOLD");                  strcat(szQuery, " ON_DEMAND_HOLD");
1696                  break;                  break;
1697          case LSCP_LOAD_ON_DEMAND:          case LSCP_LOAD_ON_DEMAND:
1698                  strcat(szQuery, " ON_DEMAND_HOLD");                  strcat(szQuery, " ON_DEMAND");
1699                  break;                  break;
1700          case LSCP_LOAD_DEFAULT:          case LSCP_LOAD_DEFAULT:
1701          default:          default:
1702                  break;                  break;
1703          }          }
1704            
1705          if (pszName)          if (pszName)
1706                  sprintf(szQuery + strlen(szQuery), " '%s'", pszName);                  sprintf(szQuery + strlen(szQuery), " '%s'", pszName);
1707            
1708          strcat(szQuery, "\r\n");          strcat(szQuery, "\r\n");
1709            
1710          return lscp_client_query(pClient, szQuery);          return lscp_client_query(pClient, szQuery);
1711  }  }
1712    
# Line 1816  lscp_midi_instrument_info_t *lscp_get_mi Line 1816  lscp_midi_instrument_info_t *lscp_get_mi
1816          const char *pszCrlf = "\r\n";          const char *pszCrlf = "\r\n";
1817          char *pszToken;          char *pszToken;
1818          char *pch;          char *pch;
1819            
1820          if (pMidiInstr->bank_msb < 0 || pMidiInstr->bank_msb > 127)          if (pMidiInstr->bank_msb < 0 || pMidiInstr->bank_msb > 127)
1821                  return NULL;                  return NULL;
1822          if (pMidiInstr->bank_lsb < 0 || pMidiInstr->bank_lsb > 127)          if (pMidiInstr->bank_lsb < 0 || pMidiInstr->bank_lsb > 127)
1823                  return NULL;                  return NULL;
1824          if (pMidiInstr->program < 0 || pMidiInstr->program > 127)          if (pMidiInstr->program < 0 || pMidiInstr->program > 127)
1825                  return NULL;                  return NULL;
1826            
1827          // Lock this section up.          // Lock this section up.
1828          lscp_mutex_lock(pClient->mutex);          lscp_mutex_lock(pClient->mutex);
1829                    
1830          pInstrInfo = &(pClient->midi_instrument_info);          pInstrInfo = &(pClient->midi_instrument_info);
1831          lscp_midi_instrument_info_reset(pInstrInfo);          lscp_midi_instrument_info_reset(pInstrInfo);
1832            
1833          sprintf(szQuery, "GET MIDI_INSTRUMENT INFO %d %d %d\r\n",          sprintf(szQuery, "GET MIDI_INSTRUMENT INFO %d %d %d\r\n",
1834                  pMidiInstr->bank_msb, pMidiInstr->bank_lsb, pMidiInstr->program);                  pMidiInstr->bank_msb, pMidiInstr->bank_lsb, pMidiInstr->program);
1835          if (lscp_client_call(pClient, szQuery, 1) == LSCP_OK) {          if (lscp_client_call(pClient, szQuery, 1) == LSCP_OK) {
# Line 1886  lscp_midi_instrument_info_t *lscp_get_mi Line 1886  lscp_midi_instrument_info_t *lscp_get_mi
1886                  }                  }
1887          }          }
1888          else pInstrInfo = NULL;          else pInstrInfo = NULL;
1889            
1890          // Unlock this section down.          // Unlock this section down.
1891          lscp_mutex_unlock(pClient->mutex);          lscp_mutex_unlock(pClient->mutex);
1892            
1893          return pInstrInfo;          return pInstrInfo;
1894  }  }
1895    

Legend:
Removed from v.952  
changed lines
  Added in v.963

  ViewVC Help
Powered by ViewVC