Advertisement
dsreyes1014

jack server example

Apr 27th, 2014
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <jack/jack.h>
  5. #include <jack/control.h>
  6. #include <jack/jslist.h>
  7.  
  8. int
  9. main ()
  10. {
  11. const JSList *drivers;
  12. jackctl_server_t *server;
  13. jackctl_driver_t *driver;
  14. jackctl_driver_t *alsa_driver;
  15.  
  16. server = jackctl_server_create (NULL, NULL);
  17. drivers = jackctl_server_get_drivers_list (server);
  18.  
  19. while (drivers != NULL)
  20. {
  21. if (drivers -> next != NULL)
  22. {
  23. const JSList *parameters;
  24.  
  25. driver = drivers -> data;
  26. parameters = jackctl_driver_get_parameters (driver);
  27.  
  28. if ((strcmp (jackctl_driver_get_name (driver), "alsa")) == 0)
  29. {
  30. alsa_driver = drivers -> data;
  31. }
  32.  
  33. printf ("\nDriver: %s\n", jackctl_driver_get_name (driver));
  34.  
  35. while (parameters != NULL)
  36. {
  37. if (parameters -> next != NULL)
  38. {
  39. union jackctl_parameter_value param_value;
  40. jackctl_param_type_t type;
  41. jackctl_parameter_t *param;
  42.  
  43. param = parameters -> data;
  44. param_value = jackctl_parameter_get_value (param);
  45. type = jackctl_parameter_get_type (param);
  46.  
  47. if (type == JackParamString)
  48. {
  49. printf ("- %s: %s\n\n", jackctl_parameter_get_name (param), param_value.str);
  50. }
  51. if (type == JackParamInt)
  52. {
  53. printf ("- %s: %d\n\n", jackctl_parameter_get_name (param), param_value.i);
  54. }
  55. if (type == JackParamUInt)
  56. {
  57. printf ("- %s: %d\n\n", jackctl_parameter_get_name (param), param_value.ui);
  58. }
  59. if (type == JackParamChar)
  60. {
  61. printf ("- %s: %d\n\n", jackctl_parameter_get_name (param), param_value.c);
  62. }
  63. parameters = parameters -> next;
  64. }
  65. else
  66. {
  67. break;
  68. }
  69. }
  70.  
  71. drivers = drivers -> next;
  72. }
  73. else
  74. {
  75. break;
  76. }
  77. }
  78.  
  79. jackctl_server_start (server, alsa_driver);
  80.  
  81. return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement