plugins/oscillators.cracked.js

  1. //need a custom wave osc
  2. /**
  3. * Sine Wave Oscillator
  4. *
  5. * [See more oscillator examples](examples/oscillators.html)
  6. *
  7. * @plugin
  8. * @category Oscillator
  9. * @function
  10. * @memberof cracked
  11. * @name cracked#sine
  12. * @public
  13. * @param {Object} [params] map of optional values
  14. * @param {Number} [params.frequency=440]
  15. * @param {Number} [params.detune=0]
  16. * @param {String} [params.type=sine]
  17. */
  18. cracked.sine = function (params) {
  19. var freq = __.isNum(params) ? params : 440;
  20. var userParams = __.isObj(params) ? params : {};
  21. var options = {};
  22. options.type = userParams.type || "sine";
  23. options.frequency = userParams.frequency || freq;
  24. options.detune = userParams.detune || 0;
  25. options.mapping = userParams.mapping || {};
  26. __.begin("sine", userParams).osc(options).end("sine");
  27. return cracked;
  28. };
  29. /**
  30. * Square Wave Oscillator
  31. *
  32. * [See more oscillator examples](examples/oscillators.html)
  33. *
  34. * @plugin
  35. * @category Oscillator
  36. * @function
  37. * @memberof cracked
  38. * @name cracked#square
  39. * @public
  40. * @param {Object} [params] map of optional values
  41. * @param {Number} [params.frequency=440]
  42. * @param {Number} [params.detune=0]
  43. * @param {String} [params.type=sine]
  44. */
  45. cracked.square = function (params) {
  46. var freq = __.isNum(params) ? params : 440;
  47. var userParams = __.isObj(params) ? params : {};
  48. var options = {};
  49. options.type = userParams.type || "square";
  50. options.frequency = userParams.frequency || freq;
  51. options.detune = userParams.detune || 0;
  52. options.mapping = userParams.mapping || {};
  53. __.begin("square", userParams).osc(options).end("square");
  54. return cracked;
  55. };
  56. /**
  57. * Sawtooth Wave Oscillator
  58. *
  59. * [See more oscillator examples](examples/oscillators.html)
  60. *
  61. * @plugin
  62. * @category Oscillator
  63. * @function
  64. * @memberof cracked
  65. * @name cracked#saw
  66. * @public
  67. * @param {Object} [params] map of optional values
  68. * @param {Number} [params.frequency=440]
  69. * @param {Number} [params.detune=0]
  70. * @param {String} [params.type=sine]
  71. */
  72. cracked.saw = function (params) {
  73. var freq = __.isNum(params) ? params : 440;
  74. var userParams = __.isObj(params) ? params : {};
  75. var options = {};
  76. options.type = userParams.type || "sawtooth";
  77. options.frequency = userParams.frequency || freq;
  78. options.detune = userParams.detune || 0;
  79. options.mapping = userParams.mapping || {};
  80. __.begin("saw", userParams).osc(options).end("saw");
  81. return cracked;
  82. };
  83. /**
  84. * Triangle Wave Oscillator
  85. *
  86. * [See more oscillator examples](examples/oscillators.html)
  87. *
  88. * @plugin
  89. * @category Oscillator
  90. * @function
  91. * @memberof cracked
  92. * @name cracked#triangle
  93. * @public
  94. * @param {Object} [params] map of optional values
  95. * @param {Number} [params.frequency=440]
  96. * @param {Number} [params.detune=0]
  97. * @param {String} [params.type=sine]
  98. */
  99. cracked.triangle = function (params) {
  100. var freq = __.isNum(params) ? params : 440;
  101. var userParams = __.isObj(params) ? params : {};
  102. var options = {};
  103. options.type = userParams.type || "triangle";
  104. options.frequency = userParams.frequency || freq;
  105. options.detune = userParams.detune || 0;
  106. options.mapping = userParams.mapping || {};
  107. __.begin("triangle", userParams).osc(options).end("triangle");
  108. return cracked;
  109. };