songtradr_api_client_ruby 1.13.4 → 1.13.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +48 -5
  4. data/docs/AdminApiCreateUserDTO.md +76 -0
  5. data/docs/AdminApiUpdateUserDTO.md +76 -0
  6. data/docs/AdminUsersControllerApi.md +355 -0
  7. data/docs/AgeRange.md +20 -0
  8. data/docs/ApiKeyDTO.md +3 -3
  9. data/docs/Beard.md +20 -0
  10. data/docs/BoundingBox.md +24 -0
  11. data/docs/ContextValue.md +18 -0
  12. data/docs/CuratePlaylistDTO.md +26 -0
  13. data/docs/CuratePlaylistResponseDTO.md +18 -0
  14. data/docs/DominantColor.md +30 -0
  15. data/docs/Emotion.md +20 -0
  16. data/docs/EyeDirection.md +22 -0
  17. data/docs/EyeOpen.md +20 -0
  18. data/docs/Eyeglasses.md +20 -0
  19. data/docs/FaceDetail.md +50 -0
  20. data/docs/FaceDetection.md +20 -0
  21. data/docs/FaceOccluded.md +20 -0
  22. data/docs/FileSmallDTO.md +7 -7
  23. data/docs/Gender.md +20 -0
  24. data/docs/ImageQuality.md +20 -0
  25. data/docs/ImageRecognitionResponse.md +20 -0
  26. data/docs/Instance.md +22 -0
  27. data/docs/InternalApiApi.md +149 -0
  28. data/docs/Label.md +28 -0
  29. data/docs/LabelAlias.md +18 -0
  30. data/docs/LabelCategory.md +18 -0
  31. data/docs/LabelDetection.md +26 -0
  32. data/docs/Landmark.md +22 -0
  33. data/docs/MouthOpen.md +20 -0
  34. data/docs/MusicalFeaturesDTO.md +26 -26
  35. data/docs/Mustache.md +20 -0
  36. data/docs/Parent.md +18 -0
  37. data/docs/PlaylistApi.md +70 -0
  38. data/docs/PlaylistLargeDTO.md +3 -3
  39. data/docs/Pose.md +22 -0
  40. data/docs/ProductMediumDTO.md +2 -2
  41. data/docs/ProductPartyDTO.md +3 -3
  42. data/docs/RecordingLargeDTO.md +11 -11
  43. data/docs/RecordingMediumDTO.md +9 -9
  44. data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
  45. data/docs/RecordingPartyDTO.md +3 -3
  46. data/docs/RecordingSmallDTO.md +4 -4
  47. data/docs/SaveFileDTO.md +42 -0
  48. data/docs/SaveFileRecordingDTO.md +5 -1
  49. data/docs/Smile.md +20 -0
  50. data/docs/Sunglasses.md +20 -0
  51. data/docs/UserApi.md +140 -0
  52. data/docs/VideoRecognitionResponse.md +20 -0
  53. data/lib/songtradr_api_client_ruby/api/admin_users_controller_api.rb +346 -0
  54. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +1 -1
  55. data/lib/songtradr_api_client_ruby/api/api_keys_api.rb +1 -1
  56. data/lib/songtradr_api_client_ruby/api/internal_api_api.rb +169 -0
  57. data/lib/songtradr_api_client_ruby/api/party_api.rb +1 -1
  58. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +78 -1
  59. data/lib/songtradr_api_client_ruby/api/recording_api.rb +1 -1
  60. data/lib/songtradr_api_client_ruby/api/user_api.rb +137 -1
  61. data/lib/songtradr_api_client_ruby/api_client.rb +3 -2
  62. data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
  63. data/lib/songtradr_api_client_ruby/configuration.rb +2 -1
  64. data/lib/songtradr_api_client_ruby/models/admin_api_create_user_dto.rb +489 -0
  65. data/lib/songtradr_api_client_ruby/models/admin_api_update_user_dto.rb +475 -0
  66. data/lib/songtradr_api_client_ruby/models/admin_api_user_dto.rb +1 -1
  67. data/lib/songtradr_api_client_ruby/models/age_range.rb +223 -0
  68. data/lib/songtradr_api_client_ruby/models/api_key_dto.rb +14 -14
  69. data/lib/songtradr_api_client_ruby/models/beard.rb +223 -0
  70. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +241 -0
  71. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +1 -1
  72. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +1 -1
  73. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +1 -1
  74. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +1 -1
  75. data/lib/songtradr_api_client_ruby/models/context_value.rb +216 -0
  76. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +1 -1
  77. data/lib/songtradr_api_client_ruby/models/create_api_key_dto.rb +1 -1
  78. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +256 -0
  79. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +216 -0
  80. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +268 -0
  81. data/lib/songtradr_api_client_ruby/models/emotion.rb +223 -0
  82. data/lib/songtradr_api_client_ruby/models/error_response.rb +1 -1
  83. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +232 -0
  84. data/lib/songtradr_api_client_ruby/models/eye_open.rb +223 -0
  85. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +223 -0
  86. data/lib/songtradr_api_client_ruby/models/face_detail.rb +362 -0
  87. data/lib/songtradr_api_client_ruby/models/face_detection.rb +223 -0
  88. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +223 -0
  89. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +1 -1
  90. data/lib/songtradr_api_client_ruby/models/file_dto.rb +1 -1
  91. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +1 -1
  92. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +1 -1
  93. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +32 -32
  94. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +1 -1
  95. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +1 -1
  96. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +1 -1
  97. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +1 -1
  98. data/lib/songtradr_api_client_ruby/models/gender.rb +223 -0
  99. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +1 -1
  100. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +1 -1
  101. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +1 -1
  102. data/lib/songtradr_api_client_ruby/models/image_quality.rb +223 -0
  103. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +227 -0
  104. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +1 -1
  105. data/lib/songtradr_api_client_ruby/models/instance.rb +234 -0
  106. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +1 -1
  107. data/lib/songtradr_api_client_ruby/models/label.rb +267 -0
  108. data/lib/songtradr_api_client_ruby/models/label_alias.rb +214 -0
  109. data/lib/songtradr_api_client_ruby/models/label_category.rb +214 -0
  110. data/lib/songtradr_api_client_ruby/models/label_detection.rb +250 -0
  111. data/lib/songtradr_api_client_ruby/models/landmark.rb +232 -0
  112. data/lib/songtradr_api_client_ruby/models/login_dto.rb +1 -1
  113. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +223 -0
  114. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +302 -302
  115. data/lib/songtradr_api_client_ruby/models/mustache.rb +223 -0
  116. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +1 -1
  117. data/lib/songtradr_api_client_ruby/models/parent.rb +214 -0
  118. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +1 -1
  119. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +1 -1
  120. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +16 -16
  121. data/lib/songtradr_api_client_ruby/models/pose.rb +232 -0
  122. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +11 -11
  123. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +16 -16
  124. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +1 -1
  125. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +1 -1
  126. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +59 -59
  127. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +1 -1
  128. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +50 -50
  129. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +16 -16
  130. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +1 -1
  131. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +1 -1
  132. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +16 -16
  133. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +1 -1
  134. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +28 -28
  135. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +1 -1
  136. data/lib/songtradr_api_client_ruby/models/save_file_dto.rb +323 -0
  137. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +23 -5
  138. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +1 -1
  139. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +1 -1
  140. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +1 -1
  141. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +1 -1
  142. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +1 -1
  143. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +1 -1
  144. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +1 -1
  145. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +1 -1
  146. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +1 -1
  147. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +1 -1
  148. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +1 -1
  149. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +1 -1
  150. data/lib/songtradr_api_client_ruby/models/smile.rb +223 -0
  151. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +223 -0
  152. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +1 -1
  153. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +1 -1
  154. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +1 -1
  155. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +1 -1
  156. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +1 -1
  157. data/lib/songtradr_api_client_ruby/models/title_dto.rb +1 -1
  158. data/lib/songtradr_api_client_ruby/models/token_request.rb +1 -1
  159. data/lib/songtradr_api_client_ruby/models/track_dto.rb +1 -1
  160. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +1 -1
  161. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +1 -1
  162. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +1 -1
  163. data/lib/songtradr_api_client_ruby/models/user_dto.rb +1 -1
  164. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +227 -0
  165. data/lib/songtradr_api_client_ruby/version.rb +2 -2
  166. data/lib/songtradr_api_client_ruby.rb +36 -1
  167. data/openapi-generator-config.yaml +1 -1
  168. data/songtradr_api_client_ruby.gemspec +1 -1
  169. data/spec/api/admin_users_controller_api_spec.rb +93 -0
  170. data/spec/api/allowed_values_api_spec.rb +1 -1
  171. data/spec/api/api_keys_api_spec.rb +1 -1
  172. data/spec/api/internal_api_api_spec.rb +58 -0
  173. data/spec/api/party_api_spec.rb +1 -1
  174. data/spec/api/playlist_api_spec.rb +13 -1
  175. data/spec/api/recording_api_spec.rb +1 -1
  176. data/spec/api/user_api_spec.rb +25 -1
  177. data/spec/api_client_spec.rb +1 -1
  178. data/spec/configuration_spec.rb +1 -1
  179. data/spec/models/admin_api_create_user_dto_spec.rb +210 -0
  180. data/spec/models/admin_api_update_user_dto_spec.rb +210 -0
  181. data/spec/models/admin_api_user_dto_spec.rb +4 -2
  182. data/spec/models/age_range_spec.rb +42 -0
  183. data/spec/models/api_key_dto_spec.rb +6 -4
  184. data/spec/models/beard_spec.rb +42 -0
  185. data/spec/models/bounding_box_spec.rb +54 -0
  186. data/spec/models/category_medium_dto_spec.rb +4 -2
  187. data/spec/models/category_minimal_dto_spec.rb +4 -2
  188. data/spec/models/config_access_dto_spec.rb +4 -2
  189. data/spec/models/config_identifier_dto_spec.rb +4 -2
  190. data/spec/models/context_value_spec.rb +36 -0
  191. data/spec/models/contributor_type_dto_spec.rb +4 -2
  192. data/spec/models/create_api_key_dto_spec.rb +4 -2
  193. data/spec/models/curate_playlist_dto_spec.rb +60 -0
  194. data/spec/models/curate_playlist_response_dto_spec.rb +36 -0
  195. data/spec/models/dominant_color_spec.rb +72 -0
  196. data/spec/models/emotion_spec.rb +42 -0
  197. data/spec/models/error_response_spec.rb +4 -2
  198. data/spec/models/eye_direction_spec.rb +48 -0
  199. data/spec/models/eye_open_spec.rb +42 -0
  200. data/spec/models/eyeglasses_spec.rb +42 -0
  201. data/spec/models/face_detail_spec.rb +132 -0
  202. data/spec/models/face_detection_spec.rb +42 -0
  203. data/spec/models/face_occluded_spec.rb +42 -0
  204. data/spec/models/field_summary_dto_spec.rb +4 -2
  205. data/spec/models/file_dto_spec.rb +4 -2
  206. data/spec/models/file_list_dto_spec.rb +4 -2
  207. data/spec/models/file_minimal_with_url_dto_spec.rb +4 -2
  208. data/spec/models/file_small_dto_spec.rb +20 -18
  209. data/spec/models/file_upload_dto_spec.rb +4 -2
  210. data/spec/models/file_w_ith_url_dto_spec.rb +4 -2
  211. data/spec/models/files_summary_dto_spec.rb +4 -2
  212. data/spec/models/forgot_password_dto_spec.rb +4 -2
  213. data/spec/models/gender_spec.rb +42 -0
  214. data/spec/models/genre_dto_spec.rb +4 -2
  215. data/spec/models/genre_minimal_dto_spec.rb +4 -2
  216. data/spec/models/genres_summary_dto_spec.rb +4 -2
  217. data/spec/models/image_quality_spec.rb +42 -0
  218. data/spec/models/image_recognition_response_spec.rb +42 -0
  219. data/spec/models/init_put_recording_audio_dto_spec.rb +4 -2
  220. data/spec/models/instance_spec.rb +48 -0
  221. data/spec/models/jwt_token_dto_spec.rb +4 -2
  222. data/spec/models/label_alias_spec.rb +36 -0
  223. data/spec/models/label_category_spec.rb +36 -0
  224. data/spec/models/label_detection_spec.rb +60 -0
  225. data/spec/models/label_spec.rb +66 -0
  226. data/spec/models/landmark_spec.rb +48 -0
  227. data/spec/models/login_dto_spec.rb +4 -2
  228. data/spec/models/mouth_open_spec.rb +42 -0
  229. data/spec/models/musical_features_dto_spec.rb +134 -132
  230. data/spec/models/mustache_spec.rb +42 -0
  231. data/spec/models/p_line_dto_spec.rb +4 -2
  232. data/spec/models/parent_spec.rb +36 -0
  233. data/spec/models/party_large_dto_spec.rb +4 -2
  234. data/spec/models/party_small_dto_spec.rb +4 -2
  235. data/spec/models/playlist_large_dto_spec.rb +10 -8
  236. data/spec/models/pose_spec.rb +48 -0
  237. data/spec/models/product_medium_dto_spec.rb +7 -5
  238. data/spec/models/product_party_dto_spec.rb +6 -4
  239. data/spec/models/recording_for_similarity_search_dto_spec.rb +4 -2
  240. data/spec/models/recording_genre_prediction_dto_spec.rb +4 -2
  241. data/spec/models/recording_large_dto_spec.rb +15 -13
  242. data/spec/models/recording_list_dto_spec.rb +4 -2
  243. data/spec/models/recording_medium_dto_spec.rb +15 -13
  244. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +6 -4
  245. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +4 -2
  246. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +4 -2
  247. data/spec/models/recording_party_dto_spec.rb +6 -4
  248. data/spec/models/recording_playlist_dto_spec.rb +4 -2
  249. data/spec/models/recording_small_dto_spec.rb +6 -4
  250. data/spec/models/recording_tag_small_dto_spec.rb +4 -2
  251. data/spec/models/save_file_dto_spec.rb +108 -0
  252. data/spec/models/save_file_recording_dto_spec.rb +16 -2
  253. data/spec/models/save_playlist_dto_spec.rb +4 -2
  254. data/spec/models/save_recording_genre_dto_spec.rb +4 -2
  255. data/spec/models/save_recording_party_dto_spec.rb +4 -2
  256. data/spec/models/save_recording_playlist_dto_spec.rb +4 -2
  257. data/spec/models/save_recording_tag_dto_spec.rb +4 -2
  258. data/spec/models/save_referrer_dto_spec.rb +4 -2
  259. data/spec/models/save_taggrams_dto_spec.rb +4 -2
  260. data/spec/models/save_user_dto_spec.rb +4 -2
  261. data/spec/models/search_filter_values_dto_spec.rb +4 -2
  262. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +4 -2
  263. data/spec/models/search_recording_granular_dto_spec.rb +4 -2
  264. data/spec/models/sign_up_dto_spec.rb +4 -2
  265. data/spec/models/smile_spec.rb +42 -0
  266. data/spec/models/sunglasses_spec.rb +42 -0
  267. data/spec/models/tag_dto_spec.rb +4 -2
  268. data/spec/models/tag_small_dto_spec.rb +4 -2
  269. data/spec/models/taggram_dto_spec.rb +4 -2
  270. data/spec/models/tags_summary_dto_spec.rb +4 -2
  271. data/spec/models/tagstrength_dto_spec.rb +4 -2
  272. data/spec/models/title_dto_spec.rb +4 -2
  273. data/spec/models/token_request_spec.rb +4 -2
  274. data/spec/models/track_dto_spec.rb +4 -2
  275. data/spec/models/track_to_medium_product_dto_spec.rb +4 -2
  276. data/spec/models/update_password_dto_spec.rb +4 -2
  277. data/spec/models/usage_dto_spec.rb +4 -2
  278. data/spec/models/user_dto_spec.rb +4 -2
  279. data/spec/models/video_recognition_response_spec.rb +42 -0
  280. data/spec/spec_helper.rb +1 -1
  281. metadata +201 -61
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.13.4
6
+ The version of the OpenAPI document: 1.13.5
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.1.0-SNAPSHOT
@@ -19,45 +19,6 @@ module SongtradrApiClientRuby
19
19
  # Search for space
20
20
  attr_accessor :space
21
21
 
22
- # Search for roughness
23
- attr_accessor :roughness
24
-
25
- # Search for a tonal scale
26
- attr_accessor :scale
27
-
28
- # Search for type of sound generation
29
- attr_accessor :sound_generation
30
-
31
- # Search for tempo
32
- attr_accessor :tempo
33
-
34
- # Search for texture
35
- attr_accessor :texture
36
-
37
- # Search for timbre
38
- attr_accessor :timbre
39
-
40
- # Search for tonality
41
- attr_accessor :tonality
42
-
43
- # Search for a valence
44
- attr_accessor :valence
45
-
46
- # Search for a vocal gender or instrumental songs
47
- attr_accessor :vocals
48
-
49
- # Search for origin decade
50
- attr_accessor :origin_decade
51
-
52
- # Search for curatebility
53
- attr_accessor :curateability
54
-
55
- # Search for use case
56
- attr_accessor :use_case
57
-
58
- # Search for social media suitability
59
- attr_accessor :channel_suitability
60
-
61
22
  attr_accessor :language_of_performance
62
23
 
63
24
  # Search for an arousal
@@ -90,6 +51,18 @@ module SongtradrApiClientRuby
90
51
  # Search for rhythm
91
52
  attr_accessor :rhythm
92
53
 
54
+ # Search for roughness
55
+ attr_accessor :roughness
56
+
57
+ # Search for a tonal scale
58
+ attr_accessor :scale
59
+
60
+ # Search for type of sound generation
61
+ attr_accessor :sound_generation
62
+
63
+ # Search for tempo
64
+ attr_accessor :tempo
65
+
93
66
  attr_accessor :primary_mood_cluster_affinity
94
67
 
95
68
  # Search for a language of the lyrics
@@ -183,6 +156,33 @@ module SongtradrApiClientRuby
183
156
 
184
157
  attr_accessor :audience_region
185
158
 
159
+ # Search for texture
160
+ attr_accessor :texture
161
+
162
+ # Search for timbre
163
+ attr_accessor :timbre
164
+
165
+ # Search for tonality
166
+ attr_accessor :tonality
167
+
168
+ # Search for a valence
169
+ attr_accessor :valence
170
+
171
+ # Search for a vocal gender or instrumental songs
172
+ attr_accessor :vocals
173
+
174
+ # Search for origin decade
175
+ attr_accessor :origin_decade
176
+
177
+ # Search for curatebility
178
+ attr_accessor :curateability
179
+
180
+ # Search for use case
181
+ attr_accessor :use_case
182
+
183
+ # Search for social media suitability
184
+ attr_accessor :channel_suitability
185
+
186
186
  attr_accessor :valence_affinity
187
187
 
188
188
  attr_accessor :arousal_affinity
@@ -242,19 +242,6 @@ module SongtradrApiClientRuby
242
242
  def self.attribute_map
243
243
  {
244
244
  :'space' => :'space',
245
- :'roughness' => :'roughness',
246
- :'scale' => :'scale',
247
- :'sound_generation' => :'soundGeneration',
248
- :'tempo' => :'tempo',
249
- :'texture' => :'texture',
250
- :'timbre' => :'timbre',
251
- :'tonality' => :'tonality',
252
- :'valence' => :'valence',
253
- :'vocals' => :'vocals',
254
- :'origin_decade' => :'originDecade',
255
- :'curateability' => :'curateability',
256
- :'use_case' => :'useCase',
257
- :'channel_suitability' => :'channelSuitability',
258
245
  :'language_of_performance' => :'languageOfPerformance',
259
246
  :'arousal' => :'arousal',
260
247
  :'dominant_instrument' => :'dominantInstrument',
@@ -266,6 +253,10 @@ module SongtradrApiClientRuby
266
253
  :'primary_mood_cluster' => :'primaryMoodCluster',
267
254
  :'primary_sound_character' => :'primarySoundCharacter',
268
255
  :'rhythm' => :'rhythm',
256
+ :'roughness' => :'roughness',
257
+ :'scale' => :'scale',
258
+ :'sound_generation' => :'soundGeneration',
259
+ :'tempo' => :'tempo',
269
260
  :'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
270
261
  :'secondary_mood_cluster' => :'secondaryMoodCluster',
271
262
  :'secondary_mood_cluster_affinity' => :'secondaryMoodClusterAffinity',
@@ -310,6 +301,15 @@ module SongtradrApiClientRuby
310
301
  :'industry_suitability' => :'industrySuitability',
311
302
  :'industry_suitability_affinity' => :'industrySuitabilityAffinity',
312
303
  :'audience_region' => :'audienceRegion',
304
+ :'texture' => :'texture',
305
+ :'timbre' => :'timbre',
306
+ :'tonality' => :'tonality',
307
+ :'valence' => :'valence',
308
+ :'vocals' => :'vocals',
309
+ :'origin_decade' => :'originDecade',
310
+ :'curateability' => :'curateability',
311
+ :'use_case' => :'useCase',
312
+ :'channel_suitability' => :'channelSuitability',
313
313
  :'valence_affinity' => :'valenceAffinity',
314
314
  :'arousal_affinity' => :'arousalAffinity',
315
315
  :'pleasantness_affinity' => :'pleasantnessAffinity',
@@ -338,19 +338,6 @@ module SongtradrApiClientRuby
338
338
  def self.openapi_types
339
339
  {
340
340
  :'space' => :'String',
341
- :'roughness' => :'String',
342
- :'scale' => :'String',
343
- :'sound_generation' => :'String',
344
- :'tempo' => :'String',
345
- :'texture' => :'String',
346
- :'timbre' => :'String',
347
- :'tonality' => :'String',
348
- :'valence' => :'String',
349
- :'vocals' => :'String',
350
- :'origin_decade' => :'String',
351
- :'curateability' => :'String',
352
- :'use_case' => :'String',
353
- :'channel_suitability' => :'String',
354
341
  :'language_of_performance' => :'String',
355
342
  :'arousal' => :'String',
356
343
  :'dominant_instrument' => :'String',
@@ -362,6 +349,10 @@ module SongtradrApiClientRuby
362
349
  :'primary_mood_cluster' => :'String',
363
350
  :'primary_sound_character' => :'String',
364
351
  :'rhythm' => :'String',
352
+ :'roughness' => :'String',
353
+ :'scale' => :'String',
354
+ :'sound_generation' => :'String',
355
+ :'tempo' => :'String',
365
356
  :'primary_mood_cluster_affinity' => :'Float',
366
357
  :'secondary_mood_cluster' => :'String',
367
358
  :'secondary_mood_cluster_affinity' => :'Float',
@@ -406,6 +397,15 @@ module SongtradrApiClientRuby
406
397
  :'industry_suitability' => :'String',
407
398
  :'industry_suitability_affinity' => :'Float',
408
399
  :'audience_region' => :'String',
400
+ :'texture' => :'String',
401
+ :'timbre' => :'String',
402
+ :'tonality' => :'String',
403
+ :'valence' => :'String',
404
+ :'vocals' => :'String',
405
+ :'origin_decade' => :'String',
406
+ :'curateability' => :'String',
407
+ :'use_case' => :'String',
408
+ :'channel_suitability' => :'String',
409
409
  :'valence_affinity' => :'Float',
410
410
  :'arousal_affinity' => :'Float',
411
411
  :'pleasantness_affinity' => :'Float',
@@ -450,58 +450,6 @@ module SongtradrApiClientRuby
450
450
  self.space = attributes[:'space']
451
451
  end
452
452
 
453
- if attributes.key?(:'roughness')
454
- self.roughness = attributes[:'roughness']
455
- end
456
-
457
- if attributes.key?(:'scale')
458
- self.scale = attributes[:'scale']
459
- end
460
-
461
- if attributes.key?(:'sound_generation')
462
- self.sound_generation = attributes[:'sound_generation']
463
- end
464
-
465
- if attributes.key?(:'tempo')
466
- self.tempo = attributes[:'tempo']
467
- end
468
-
469
- if attributes.key?(:'texture')
470
- self.texture = attributes[:'texture']
471
- end
472
-
473
- if attributes.key?(:'timbre')
474
- self.timbre = attributes[:'timbre']
475
- end
476
-
477
- if attributes.key?(:'tonality')
478
- self.tonality = attributes[:'tonality']
479
- end
480
-
481
- if attributes.key?(:'valence')
482
- self.valence = attributes[:'valence']
483
- end
484
-
485
- if attributes.key?(:'vocals')
486
- self.vocals = attributes[:'vocals']
487
- end
488
-
489
- if attributes.key?(:'origin_decade')
490
- self.origin_decade = attributes[:'origin_decade']
491
- end
492
-
493
- if attributes.key?(:'curateability')
494
- self.curateability = attributes[:'curateability']
495
- end
496
-
497
- if attributes.key?(:'use_case')
498
- self.use_case = attributes[:'use_case']
499
- end
500
-
501
- if attributes.key?(:'channel_suitability')
502
- self.channel_suitability = attributes[:'channel_suitability']
503
- end
504
-
505
453
  if attributes.key?(:'language_of_performance')
506
454
  self.language_of_performance = attributes[:'language_of_performance']
507
455
  end
@@ -546,6 +494,22 @@ module SongtradrApiClientRuby
546
494
  self.rhythm = attributes[:'rhythm']
547
495
  end
548
496
 
497
+ if attributes.key?(:'roughness')
498
+ self.roughness = attributes[:'roughness']
499
+ end
500
+
501
+ if attributes.key?(:'scale')
502
+ self.scale = attributes[:'scale']
503
+ end
504
+
505
+ if attributes.key?(:'sound_generation')
506
+ self.sound_generation = attributes[:'sound_generation']
507
+ end
508
+
509
+ if attributes.key?(:'tempo')
510
+ self.tempo = attributes[:'tempo']
511
+ end
512
+
549
513
  if attributes.key?(:'primary_mood_cluster_affinity')
550
514
  self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
551
515
  end
@@ -722,6 +686,42 @@ module SongtradrApiClientRuby
722
686
  self.audience_region = attributes[:'audience_region']
723
687
  end
724
688
 
689
+ if attributes.key?(:'texture')
690
+ self.texture = attributes[:'texture']
691
+ end
692
+
693
+ if attributes.key?(:'timbre')
694
+ self.timbre = attributes[:'timbre']
695
+ end
696
+
697
+ if attributes.key?(:'tonality')
698
+ self.tonality = attributes[:'tonality']
699
+ end
700
+
701
+ if attributes.key?(:'valence')
702
+ self.valence = attributes[:'valence']
703
+ end
704
+
705
+ if attributes.key?(:'vocals')
706
+ self.vocals = attributes[:'vocals']
707
+ end
708
+
709
+ if attributes.key?(:'origin_decade')
710
+ self.origin_decade = attributes[:'origin_decade']
711
+ end
712
+
713
+ if attributes.key?(:'curateability')
714
+ self.curateability = attributes[:'curateability']
715
+ end
716
+
717
+ if attributes.key?(:'use_case')
718
+ self.use_case = attributes[:'use_case']
719
+ end
720
+
721
+ if attributes.key?(:'channel_suitability')
722
+ self.channel_suitability = attributes[:'channel_suitability']
723
+ end
724
+
725
725
  if attributes.key?(:'valence_affinity')
726
726
  self.valence_affinity = attributes[:'valence_affinity']
727
727
  end
@@ -801,6 +801,28 @@ module SongtradrApiClientRuby
801
801
  warn '[DEPRECATED] the `valid?` method is obsolete'
802
802
  space_validator = EnumAttributeValidator.new('String', ["very compact", "compact", "moderate space", "wide", "very wide"])
803
803
  return false unless space_validator.valid?(@space)
804
+ language_of_performance_validator = EnumAttributeValidator.new('String', ["en", "de", "no", "fr", "es", "pt", "fi", "ru", "it", "la", "el", "ar", "nl", "ja", "pl", "sv", "zu", "da", "cs", "hu", "af", "hi", "tr", "zh", "ms", "pa", "id", "ko", "vi"])
805
+ return false unless language_of_performance_validator.valid?(@language_of_performance)
806
+ arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
807
+ return false unless arousal_validator.valid?(@arousal)
808
+ dominant_instrument_validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
809
+ return false unless dominant_instrument_validator.valid?(@dominant_instrument)
810
+ energy_validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
811
+ return false unless energy_validator.valid?(@energy)
812
+ engagement_validator = EnumAttributeValidator.new('String', ["very unengaging", "unengaging", "neutral engagement", "engaging", "very engaging", "varying engagement"])
813
+ return false unless engagement_validator.valid?(@engagement)
814
+ groovyness_validator = EnumAttributeValidator.new('String', ["very steady", "steady", "moderate rhythm feel", "groovy", "very groovy"])
815
+ return false unless groovyness_validator.valid?(@groovyness)
816
+ harmony_validator = EnumAttributeValidator.new('String', ["very dissonant", "dissonant", "moderate harmonies", "harmonious", "very harmonious"])
817
+ return false unless harmony_validator.valid?(@harmony)
818
+ pleasantness_validator = EnumAttributeValidator.new('String', ["very unpleasant", "unpleasant", "neutral pleasantness", "pleasant", "very pleasant", "varying pleasantness"])
819
+ return false unless pleasantness_validator.valid?(@pleasantness)
820
+ primary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
821
+ return false unless primary_mood_cluster_validator.valid?(@primary_mood_cluster)
822
+ primary_sound_character_validator = EnumAttributeValidator.new('String', ["brassy", "bright", "clear", "deep", "distorted", "flat", "full", "groovy", "melodious", "natural", "resonant", "shrill", "steady", "thin", "warm"])
823
+ return false unless primary_sound_character_validator.valid?(@primary_sound_character)
824
+ rhythm_validator = EnumAttributeValidator.new('String', ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"])
825
+ return false unless rhythm_validator.valid?(@rhythm)
804
826
  roughness_validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
805
827
  return false unless roughness_validator.valid?(@roughness)
806
828
  scale_validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
@@ -809,46 +831,6 @@ module SongtradrApiClientRuby
809
831
  return false unless sound_generation_validator.valid?(@sound_generation)
810
832
  tempo_validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
811
833
  return false unless tempo_validator.valid?(@tempo)
812
- texture_validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
813
- return false unless texture_validator.valid?(@texture)
814
- timbre_validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
815
- return false unless timbre_validator.valid?(@timbre)
816
- tonality_validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
817
- return false unless tonality_validator.valid?(@tonality)
818
- valence_validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
819
- return false unless valence_validator.valid?(@valence)
820
- vocals_validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
821
- return false unless vocals_validator.valid?(@vocals)
822
- origin_decade_validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
823
- return false unless origin_decade_validator.valid?(@origin_decade)
824
- curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
825
- return false unless curateability_validator.valid?(@curateability)
826
- use_case_validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
827
- return false unless use_case_validator.valid?(@use_case)
828
- channel_suitability_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
829
- return false unless channel_suitability_validator.valid?(@channel_suitability)
830
- language_of_performance_validator = EnumAttributeValidator.new('String', ["en", "de", "no", "fr", "es", "pt", "fi", "ru", "it", "la", "el", "ar", "nl", "ja", "pl", "sv", "zu", "da", "cs", "hu", "af", "hi", "tr", "zh", "ms", "pa", "id", "ko", "vi"])
831
- return false unless language_of_performance_validator.valid?(@language_of_performance)
832
- arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
833
- return false unless arousal_validator.valid?(@arousal)
834
- dominant_instrument_validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
835
- return false unless dominant_instrument_validator.valid?(@dominant_instrument)
836
- energy_validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
837
- return false unless energy_validator.valid?(@energy)
838
- engagement_validator = EnumAttributeValidator.new('String', ["very unengaging", "unengaging", "neutral engagement", "engaging", "very engaging", "varying engagement"])
839
- return false unless engagement_validator.valid?(@engagement)
840
- groovyness_validator = EnumAttributeValidator.new('String', ["very steady", "steady", "moderate rhythm feel", "groovy", "very groovy"])
841
- return false unless groovyness_validator.valid?(@groovyness)
842
- harmony_validator = EnumAttributeValidator.new('String', ["very dissonant", "dissonant", "moderate harmonies", "harmonious", "very harmonious"])
843
- return false unless harmony_validator.valid?(@harmony)
844
- pleasantness_validator = EnumAttributeValidator.new('String', ["very unpleasant", "unpleasant", "neutral pleasantness", "pleasant", "very pleasant", "varying pleasantness"])
845
- return false unless pleasantness_validator.valid?(@pleasantness)
846
- primary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
847
- return false unless primary_mood_cluster_validator.valid?(@primary_mood_cluster)
848
- primary_sound_character_validator = EnumAttributeValidator.new('String', ["brassy", "bright", "clear", "deep", "distorted", "flat", "full", "groovy", "melodious", "natural", "resonant", "shrill", "steady", "thin", "warm"])
849
- return false unless primary_sound_character_validator.valid?(@primary_sound_character)
850
- rhythm_validator = EnumAttributeValidator.new('String', ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"])
851
- return false unless rhythm_validator.valid?(@rhythm)
852
834
  secondary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
853
835
  return false unless secondary_mood_cluster_validator.valid?(@secondary_mood_cluster)
854
836
  tertiary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
@@ -881,6 +863,24 @@ module SongtradrApiClientRuby
881
863
  return false unless industry_suitability_validator.valid?(@industry_suitability)
882
864
  audience_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
883
865
  return false unless audience_region_validator.valid?(@audience_region)
866
+ texture_validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
867
+ return false unless texture_validator.valid?(@texture)
868
+ timbre_validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
869
+ return false unless timbre_validator.valid?(@timbre)
870
+ tonality_validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
871
+ return false unless tonality_validator.valid?(@tonality)
872
+ valence_validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
873
+ return false unless valence_validator.valid?(@valence)
874
+ vocals_validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
875
+ return false unless vocals_validator.valid?(@vocals)
876
+ origin_decade_validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
877
+ return false unless origin_decade_validator.valid?(@origin_decade)
878
+ curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
879
+ return false unless curateability_validator.valid?(@curateability)
880
+ use_case_validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
881
+ return false unless use_case_validator.valid?(@use_case)
882
+ channel_suitability_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
883
+ return false unless channel_suitability_validator.valid?(@channel_suitability)
884
884
  key_validator = EnumAttributeValidator.new('String', ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "unclear"])
885
885
  return false unless key_validator.valid?(@key)
886
886
  true
@@ -896,136 +896,6 @@ module SongtradrApiClientRuby
896
896
  @space = space
897
897
  end
898
898
 
899
- # Custom attribute writer method checking allowed values (enum).
900
- # @param [Object] roughness Object to be assigned
901
- def roughness=(roughness)
902
- validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
903
- unless validator.valid?(roughness)
904
- fail ArgumentError, "invalid value for \"roughness\", must be one of #{validator.allowable_values}."
905
- end
906
- @roughness = roughness
907
- end
908
-
909
- # Custom attribute writer method checking allowed values (enum).
910
- # @param [Object] scale Object to be assigned
911
- def scale=(scale)
912
- validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
913
- unless validator.valid?(scale)
914
- fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
915
- end
916
- @scale = scale
917
- end
918
-
919
- # Custom attribute writer method checking allowed values (enum).
920
- # @param [Object] sound_generation Object to be assigned
921
- def sound_generation=(sound_generation)
922
- validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
923
- unless validator.valid?(sound_generation)
924
- fail ArgumentError, "invalid value for \"sound_generation\", must be one of #{validator.allowable_values}."
925
- end
926
- @sound_generation = sound_generation
927
- end
928
-
929
- # Custom attribute writer method checking allowed values (enum).
930
- # @param [Object] tempo Object to be assigned
931
- def tempo=(tempo)
932
- validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
933
- unless validator.valid?(tempo)
934
- fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
935
- end
936
- @tempo = tempo
937
- end
938
-
939
- # Custom attribute writer method checking allowed values (enum).
940
- # @param [Object] texture Object to be assigned
941
- def texture=(texture)
942
- validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
943
- unless validator.valid?(texture)
944
- fail ArgumentError, "invalid value for \"texture\", must be one of #{validator.allowable_values}."
945
- end
946
- @texture = texture
947
- end
948
-
949
- # Custom attribute writer method checking allowed values (enum).
950
- # @param [Object] timbre Object to be assigned
951
- def timbre=(timbre)
952
- validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
953
- unless validator.valid?(timbre)
954
- fail ArgumentError, "invalid value for \"timbre\", must be one of #{validator.allowable_values}."
955
- end
956
- @timbre = timbre
957
- end
958
-
959
- # Custom attribute writer method checking allowed values (enum).
960
- # @param [Object] tonality Object to be assigned
961
- def tonality=(tonality)
962
- validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
963
- unless validator.valid?(tonality)
964
- fail ArgumentError, "invalid value for \"tonality\", must be one of #{validator.allowable_values}."
965
- end
966
- @tonality = tonality
967
- end
968
-
969
- # Custom attribute writer method checking allowed values (enum).
970
- # @param [Object] valence Object to be assigned
971
- def valence=(valence)
972
- validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
973
- unless validator.valid?(valence)
974
- fail ArgumentError, "invalid value for \"valence\", must be one of #{validator.allowable_values}."
975
- end
976
- @valence = valence
977
- end
978
-
979
- # Custom attribute writer method checking allowed values (enum).
980
- # @param [Object] vocals Object to be assigned
981
- def vocals=(vocals)
982
- validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
983
- unless validator.valid?(vocals)
984
- fail ArgumentError, "invalid value for \"vocals\", must be one of #{validator.allowable_values}."
985
- end
986
- @vocals = vocals
987
- end
988
-
989
- # Custom attribute writer method checking allowed values (enum).
990
- # @param [Object] origin_decade Object to be assigned
991
- def origin_decade=(origin_decade)
992
- validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
993
- unless validator.valid?(origin_decade)
994
- fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{validator.allowable_values}."
995
- end
996
- @origin_decade = origin_decade
997
- end
998
-
999
- # Custom attribute writer method checking allowed values (enum).
1000
- # @param [Object] curateability Object to be assigned
1001
- def curateability=(curateability)
1002
- validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
1003
- unless validator.valid?(curateability)
1004
- fail ArgumentError, "invalid value for \"curateability\", must be one of #{validator.allowable_values}."
1005
- end
1006
- @curateability = curateability
1007
- end
1008
-
1009
- # Custom attribute writer method checking allowed values (enum).
1010
- # @param [Object] use_case Object to be assigned
1011
- def use_case=(use_case)
1012
- validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
1013
- unless validator.valid?(use_case)
1014
- fail ArgumentError, "invalid value for \"use_case\", must be one of #{validator.allowable_values}."
1015
- end
1016
- @use_case = use_case
1017
- end
1018
-
1019
- # Custom attribute writer method checking allowed values (enum).
1020
- # @param [Object] channel_suitability Object to be assigned
1021
- def channel_suitability=(channel_suitability)
1022
- validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
1023
- unless validator.valid?(channel_suitability)
1024
- fail ArgumentError, "invalid value for \"channel_suitability\", must be one of #{validator.allowable_values}."
1025
- end
1026
- @channel_suitability = channel_suitability
1027
- end
1028
-
1029
899
  # Custom attribute writer method checking allowed values (enum).
1030
900
  # @param [Object] language_of_performance Object to be assigned
1031
901
  def language_of_performance=(language_of_performance)
@@ -1136,6 +1006,46 @@ module SongtradrApiClientRuby
1136
1006
  @rhythm = rhythm
1137
1007
  end
1138
1008
 
1009
+ # Custom attribute writer method checking allowed values (enum).
1010
+ # @param [Object] roughness Object to be assigned
1011
+ def roughness=(roughness)
1012
+ validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
1013
+ unless validator.valid?(roughness)
1014
+ fail ArgumentError, "invalid value for \"roughness\", must be one of #{validator.allowable_values}."
1015
+ end
1016
+ @roughness = roughness
1017
+ end
1018
+
1019
+ # Custom attribute writer method checking allowed values (enum).
1020
+ # @param [Object] scale Object to be assigned
1021
+ def scale=(scale)
1022
+ validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
1023
+ unless validator.valid?(scale)
1024
+ fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
1025
+ end
1026
+ @scale = scale
1027
+ end
1028
+
1029
+ # Custom attribute writer method checking allowed values (enum).
1030
+ # @param [Object] sound_generation Object to be assigned
1031
+ def sound_generation=(sound_generation)
1032
+ validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
1033
+ unless validator.valid?(sound_generation)
1034
+ fail ArgumentError, "invalid value for \"sound_generation\", must be one of #{validator.allowable_values}."
1035
+ end
1036
+ @sound_generation = sound_generation
1037
+ end
1038
+
1039
+ # Custom attribute writer method checking allowed values (enum).
1040
+ # @param [Object] tempo Object to be assigned
1041
+ def tempo=(tempo)
1042
+ validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
1043
+ unless validator.valid?(tempo)
1044
+ fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
1045
+ end
1046
+ @tempo = tempo
1047
+ end
1048
+
1139
1049
  # Custom attribute writer method checking allowed values (enum).
1140
1050
  # @param [Object] secondary_mood_cluster Object to be assigned
1141
1051
  def secondary_mood_cluster=(secondary_mood_cluster)
@@ -1296,6 +1206,96 @@ module SongtradrApiClientRuby
1296
1206
  @audience_region = audience_region
1297
1207
  end
1298
1208
 
1209
+ # Custom attribute writer method checking allowed values (enum).
1210
+ # @param [Object] texture Object to be assigned
1211
+ def texture=(texture)
1212
+ validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
1213
+ unless validator.valid?(texture)
1214
+ fail ArgumentError, "invalid value for \"texture\", must be one of #{validator.allowable_values}."
1215
+ end
1216
+ @texture = texture
1217
+ end
1218
+
1219
+ # Custom attribute writer method checking allowed values (enum).
1220
+ # @param [Object] timbre Object to be assigned
1221
+ def timbre=(timbre)
1222
+ validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
1223
+ unless validator.valid?(timbre)
1224
+ fail ArgumentError, "invalid value for \"timbre\", must be one of #{validator.allowable_values}."
1225
+ end
1226
+ @timbre = timbre
1227
+ end
1228
+
1229
+ # Custom attribute writer method checking allowed values (enum).
1230
+ # @param [Object] tonality Object to be assigned
1231
+ def tonality=(tonality)
1232
+ validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
1233
+ unless validator.valid?(tonality)
1234
+ fail ArgumentError, "invalid value for \"tonality\", must be one of #{validator.allowable_values}."
1235
+ end
1236
+ @tonality = tonality
1237
+ end
1238
+
1239
+ # Custom attribute writer method checking allowed values (enum).
1240
+ # @param [Object] valence Object to be assigned
1241
+ def valence=(valence)
1242
+ validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
1243
+ unless validator.valid?(valence)
1244
+ fail ArgumentError, "invalid value for \"valence\", must be one of #{validator.allowable_values}."
1245
+ end
1246
+ @valence = valence
1247
+ end
1248
+
1249
+ # Custom attribute writer method checking allowed values (enum).
1250
+ # @param [Object] vocals Object to be assigned
1251
+ def vocals=(vocals)
1252
+ validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
1253
+ unless validator.valid?(vocals)
1254
+ fail ArgumentError, "invalid value for \"vocals\", must be one of #{validator.allowable_values}."
1255
+ end
1256
+ @vocals = vocals
1257
+ end
1258
+
1259
+ # Custom attribute writer method checking allowed values (enum).
1260
+ # @param [Object] origin_decade Object to be assigned
1261
+ def origin_decade=(origin_decade)
1262
+ validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
1263
+ unless validator.valid?(origin_decade)
1264
+ fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{validator.allowable_values}."
1265
+ end
1266
+ @origin_decade = origin_decade
1267
+ end
1268
+
1269
+ # Custom attribute writer method checking allowed values (enum).
1270
+ # @param [Object] curateability Object to be assigned
1271
+ def curateability=(curateability)
1272
+ validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
1273
+ unless validator.valid?(curateability)
1274
+ fail ArgumentError, "invalid value for \"curateability\", must be one of #{validator.allowable_values}."
1275
+ end
1276
+ @curateability = curateability
1277
+ end
1278
+
1279
+ # Custom attribute writer method checking allowed values (enum).
1280
+ # @param [Object] use_case Object to be assigned
1281
+ def use_case=(use_case)
1282
+ validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
1283
+ unless validator.valid?(use_case)
1284
+ fail ArgumentError, "invalid value for \"use_case\", must be one of #{validator.allowable_values}."
1285
+ end
1286
+ @use_case = use_case
1287
+ end
1288
+
1289
+ # Custom attribute writer method checking allowed values (enum).
1290
+ # @param [Object] channel_suitability Object to be assigned
1291
+ def channel_suitability=(channel_suitability)
1292
+ validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
1293
+ unless validator.valid?(channel_suitability)
1294
+ fail ArgumentError, "invalid value for \"channel_suitability\", must be one of #{validator.allowable_values}."
1295
+ end
1296
+ @channel_suitability = channel_suitability
1297
+ end
1298
+
1299
1299
  # Custom attribute writer method checking allowed values (enum).
1300
1300
  # @param [Object] key Object to be assigned
1301
1301
  def key=(key)
@@ -1312,19 +1312,6 @@ module SongtradrApiClientRuby
1312
1312
  return true if self.equal?(o)
1313
1313
  self.class == o.class &&
1314
1314
  space == o.space &&
1315
- roughness == o.roughness &&
1316
- scale == o.scale &&
1317
- sound_generation == o.sound_generation &&
1318
- tempo == o.tempo &&
1319
- texture == o.texture &&
1320
- timbre == o.timbre &&
1321
- tonality == o.tonality &&
1322
- valence == o.valence &&
1323
- vocals == o.vocals &&
1324
- origin_decade == o.origin_decade &&
1325
- curateability == o.curateability &&
1326
- use_case == o.use_case &&
1327
- channel_suitability == o.channel_suitability &&
1328
1315
  language_of_performance == o.language_of_performance &&
1329
1316
  arousal == o.arousal &&
1330
1317
  dominant_instrument == o.dominant_instrument &&
@@ -1336,6 +1323,10 @@ module SongtradrApiClientRuby
1336
1323
  primary_mood_cluster == o.primary_mood_cluster &&
1337
1324
  primary_sound_character == o.primary_sound_character &&
1338
1325
  rhythm == o.rhythm &&
1326
+ roughness == o.roughness &&
1327
+ scale == o.scale &&
1328
+ sound_generation == o.sound_generation &&
1329
+ tempo == o.tempo &&
1339
1330
  primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
1340
1331
  secondary_mood_cluster == o.secondary_mood_cluster &&
1341
1332
  secondary_mood_cluster_affinity == o.secondary_mood_cluster_affinity &&
@@ -1380,6 +1371,15 @@ module SongtradrApiClientRuby
1380
1371
  industry_suitability == o.industry_suitability &&
1381
1372
  industry_suitability_affinity == o.industry_suitability_affinity &&
1382
1373
  audience_region == o.audience_region &&
1374
+ texture == o.texture &&
1375
+ timbre == o.timbre &&
1376
+ tonality == o.tonality &&
1377
+ valence == o.valence &&
1378
+ vocals == o.vocals &&
1379
+ origin_decade == o.origin_decade &&
1380
+ curateability == o.curateability &&
1381
+ use_case == o.use_case &&
1382
+ channel_suitability == o.channel_suitability &&
1383
1383
  valence_affinity == o.valence_affinity &&
1384
1384
  arousal_affinity == o.arousal_affinity &&
1385
1385
  pleasantness_affinity == o.pleasantness_affinity &&
@@ -1407,7 +1407,7 @@ module SongtradrApiClientRuby
1407
1407
  # Calculates hash code according to all attributes.
1408
1408
  # @return [Integer] Hash code
1409
1409
  def hash
1410
- [space, roughness, scale, sound_generation, tempo, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, language_of_performance, arousal, dominant_instrument, energy, engagement, groovyness, harmony, pleasantness, primary_mood_cluster, primary_sound_character, rhythm, primary_mood_cluster_affinity, secondary_mood_cluster, secondary_mood_cluster_affinity, tertiary_mood_cluster, tertiary_mood_cluster_affinity, vocals_affinity, dominant_instrument_affinity, secondary_instrument, secondary_instrument_affinity, tertiary_instrument, tertiary_instrument_affinity, sound_generation_affinity, rhythm_affinity, primary_sound_character_affinity, tonality_affinity, bpm, production_rating, production_rating_affinity, performance_rating, performance_rating_affinity, song_rating, song_rating_affinity, audience_age, audience_age_affinity, secondary_audience_age, secondary_audience_age_affinity, tertiary_audience_age, tertiary_audience_age_affinity, audience_gender, audience_gender_affinity, audience_region_affinity, secondary_audience_region, secondary_audience_region_affinity, tertiary_audience_region, tertiary_audience_region_affinity, origin_region, origin_region_affinity, origin_decade_affinity, language_of_performance_affinity, curateability_affinity, use_case_affinity, industry_suitability, industry_suitability_affinity, audience_region, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, energy_affinity, tempo_affinity, scale_affinity, timbre_affinity, roughness_affinity, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, key_affinity, channel_suitability_affinity, key].hash
1410
+ [space, language_of_performance, arousal, dominant_instrument, energy, engagement, groovyness, harmony, pleasantness, primary_mood_cluster, primary_sound_character, rhythm, roughness, scale, sound_generation, tempo, primary_mood_cluster_affinity, secondary_mood_cluster, secondary_mood_cluster_affinity, tertiary_mood_cluster, tertiary_mood_cluster_affinity, vocals_affinity, dominant_instrument_affinity, secondary_instrument, secondary_instrument_affinity, tertiary_instrument, tertiary_instrument_affinity, sound_generation_affinity, rhythm_affinity, primary_sound_character_affinity, tonality_affinity, bpm, production_rating, production_rating_affinity, performance_rating, performance_rating_affinity, song_rating, song_rating_affinity, audience_age, audience_age_affinity, secondary_audience_age, secondary_audience_age_affinity, tertiary_audience_age, tertiary_audience_age_affinity, audience_gender, audience_gender_affinity, audience_region_affinity, secondary_audience_region, secondary_audience_region_affinity, tertiary_audience_region, tertiary_audience_region_affinity, origin_region, origin_region_affinity, origin_decade_affinity, language_of_performance_affinity, curateability_affinity, use_case_affinity, industry_suitability, industry_suitability_affinity, audience_region, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, energy_affinity, tempo_affinity, scale_affinity, timbre_affinity, roughness_affinity, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, key_affinity, channel_suitability_affinity, key].hash
1411
1411
  end
1412
1412
 
1413
1413
  # Builds the object from hash