songtradr_api_client_ruby 1.17.0 → 2.0.0

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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +24 -22
  3. data/README.md +7 -11
  4. data/docs/FileSmallDTO.md +2 -2
  5. data/docs/MusicalFeaturesDTO.md +113 -109
  6. data/docs/RecordingApi.md +71 -69
  7. data/docs/RecordingMediumDTO.md +2 -2
  8. data/docs/SearchFilterValuesDTO.md +2 -0
  9. data/docs/UserApi.md +67 -187
  10. data/docs/UserDTO.md +2 -0
  11. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +2 -2
  12. data/lib/songtradr_api_client_ruby/api/recording_api.rb +74 -71
  13. data/lib/songtradr_api_client_ruby/api/user_api.rb +86 -403
  14. data/lib/songtradr_api_client_ruby/api_client.rb +5 -4
  15. data/lib/songtradr_api_client_ruby/api_error.rb +2 -2
  16. data/lib/songtradr_api_client_ruby/configuration.rb +2 -2
  17. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +2 -2
  18. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +2 -2
  19. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +2 -2
  20. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +2 -2
  21. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +2 -2
  22. data/lib/songtradr_api_client_ruby/models/error_response.rb +2 -2
  23. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +2 -2
  24. data/lib/songtradr_api_client_ruby/models/file_dto.rb +2 -2
  25. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +2 -2
  26. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +14 -14
  27. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +2 -2
  28. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +2 -2
  29. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +2 -2
  30. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +2 -2
  31. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +2 -2
  32. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +2 -2
  33. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +2 -2
  34. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +2 -2
  35. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +2 -2
  36. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +2 -2
  37. data/lib/songtradr_api_client_ruby/models/login_dto.rb +2 -2
  38. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +662 -631
  39. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +2 -2
  40. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +2 -2
  41. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +2 -2
  42. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +2 -2
  43. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +24 -24
  44. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +2 -2
  45. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +2 -2
  46. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +2 -2
  47. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +2 -2
  48. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +2 -2
  49. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +2 -2
  50. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +2 -2
  51. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +21 -3
  52. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +2 -2
  53. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +2 -2
  54. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +2 -2
  55. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +2 -2
  56. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +2 -2
  57. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +2 -2
  58. data/lib/songtradr_api_client_ruby/models/title_dto.rb +2 -2
  59. data/lib/songtradr_api_client_ruby/models/token_request.rb +2 -2
  60. data/lib/songtradr_api_client_ruby/models/track_dto.rb +2 -2
  61. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +2 -2
  62. data/lib/songtradr_api_client_ruby/models/user_dto.rb +19 -3
  63. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +2 -2
  64. data/lib/songtradr_api_client_ruby/version.rb +3 -3
  65. data/lib/songtradr_api_client_ruby.rb +2 -6
  66. data/openapi-generator-config.yaml +1 -1
  67. data/songtradr_api_client_ruby.gemspec +3 -2
  68. data/spec/api/allowed_values_api_spec.rb +2 -2
  69. data/spec/api/recording_api_spec.rb +14 -13
  70. data/spec/api/user_api_spec.rb +15 -74
  71. data/spec/models/category_medium_dto_spec.rb +2 -2
  72. data/spec/models/category_minimal_dto_spec.rb +2 -2
  73. data/spec/models/config_access_dto_spec.rb +2 -2
  74. data/spec/models/config_identifier_dto_spec.rb +2 -2
  75. data/spec/models/contributor_type_dto_spec.rb +2 -2
  76. data/spec/models/error_response_spec.rb +2 -2
  77. data/spec/models/field_summary_dto_spec.rb +2 -2
  78. data/spec/models/file_dto_spec.rb +2 -2
  79. data/spec/models/file_list_dto_spec.rb +2 -2
  80. data/spec/models/file_small_dto_spec.rb +10 -10
  81. data/spec/models/file_upload_dto_spec.rb +2 -2
  82. data/spec/models/file_w_ith_url_dto_spec.rb +2 -2
  83. data/spec/models/files_summary_dto_spec.rb +2 -2
  84. data/spec/models/forgot_password_dto_spec.rb +2 -2
  85. data/spec/models/genre_dto_spec.rb +2 -2
  86. data/spec/models/genre_minimal_dto_spec.rb +2 -2
  87. data/spec/models/genres_summary_dto_spec.rb +2 -2
  88. data/spec/models/image_recognition_response_spec.rb +2 -2
  89. data/spec/models/init_put_recording_audio_dto_spec.rb +2 -2
  90. data/spec/models/jwt_token_dto_spec.rb +2 -2
  91. data/spec/models/login_dto_spec.rb +2 -2
  92. data/spec/models/musical_features_dto_spec.rb +230 -214
  93. data/spec/models/party_small_dto_spec.rb +2 -2
  94. data/spec/models/recording_for_similarity_search_dto_spec.rb +2 -2
  95. data/spec/models/recording_genre_prediction_dto_spec.rb +2 -2
  96. data/spec/models/recording_list_dto_spec.rb +2 -2
  97. data/spec/models/recording_medium_dto_spec.rb +8 -8
  98. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +2 -2
  99. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +2 -2
  100. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +2 -2
  101. data/spec/models/recording_party_dto_spec.rb +2 -2
  102. data/spec/models/recording_small_dto_spec.rb +2 -2
  103. data/spec/models/recording_tag_small_dto_spec.rb +2 -2
  104. data/spec/models/save_user_dto_spec.rb +2 -2
  105. data/spec/models/search_filter_values_dto_spec.rb +8 -2
  106. data/spec/models/sign_up_dto_spec.rb +2 -2
  107. data/spec/models/tag_dto_spec.rb +2 -2
  108. data/spec/models/tag_small_dto_spec.rb +2 -2
  109. data/spec/models/taggram_dto_spec.rb +2 -2
  110. data/spec/models/tags_summary_dto_spec.rb +2 -2
  111. data/spec/models/tagstrength_dto_spec.rb +2 -2
  112. data/spec/models/title_dto_spec.rb +2 -2
  113. data/spec/models/token_request_spec.rb +2 -2
  114. data/spec/models/track_dto_spec.rb +2 -2
  115. data/spec/models/update_password_dto_spec.rb +2 -2
  116. data/spec/models/user_dto_spec.rb +8 -2
  117. data/spec/models/video_recognition_response_spec.rb +2 -2
  118. data/spec/spec_helper.rb +2 -2
  119. metadata +55 -57
  120. data/docs/CuratePlaylistDTO.md +0 -26
  121. data/docs/CuratePlaylistResponseDTO.md +0 -18
  122. data/docs/PlaylistApi.md +0 -77
  123. data/docs/SearchRecordingGranularDTO.md +0 -20
  124. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +0 -99
  125. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +0 -256
  126. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +0 -216
  127. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +0 -232
  128. data/spec/api/playlist_api_spec.rb +0 -47
  129. data/spec/models/curate_playlist_dto_spec.rb +0 -60
  130. data/spec/models/curate_playlist_response_dto_spec.rb +0 -36
  131. data/spec/models/search_recording_granular_dto_spec.rb +0 -42
@@ -3,10 +3,10 @@
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.17.0
6
+ The version of the OpenAPI document: 2.0.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 7.4.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -544,6 +544,68 @@ module SongtradrApiClientRuby
544
544
  return data, status_code, headers
545
545
  end
546
546
 
547
+ # Files for query.
548
+ # @param query [String] Query.
549
+ # @param [Hash] opts the optional parameters
550
+ # @return [FileListDTO]
551
+ def prompt_search_user_files(query, opts = {})
552
+ data, _status_code, _headers = prompt_search_user_files_with_http_info(query, opts)
553
+ data
554
+ end
555
+
556
+ # Files for query.
557
+ # @param query [String] Query.
558
+ # @param [Hash] opts the optional parameters
559
+ # @return [Array<(FileListDTO, Integer, Hash)>] FileListDTO data, response status code and response headers
560
+ def prompt_search_user_files_with_http_info(query, opts = {})
561
+ if @api_client.config.debugging
562
+ @api_client.config.logger.debug 'Calling API: UserApi.prompt_search_user_files ...'
563
+ end
564
+ # verify the required parameter 'query' is set
565
+ if @api_client.config.client_side_validation && query.nil?
566
+ fail ArgumentError, "Missing the required parameter 'query' when calling UserApi.prompt_search_user_files"
567
+ end
568
+ # resource path
569
+ local_var_path = '/api/v1/user/promptSearch'
570
+
571
+ # query parameters
572
+ query_params = opts[:query_params] || {}
573
+ query_params[:'query'] = query
574
+
575
+ # header parameters
576
+ header_params = opts[:header_params] || {}
577
+ # HTTP header 'Accept' (if needed)
578
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
579
+
580
+ # form parameters
581
+ form_params = opts[:form_params] || {}
582
+
583
+ # http body (model)
584
+ post_body = opts[:debug_body]
585
+
586
+ # return_type
587
+ return_type = opts[:debug_return_type] || 'FileListDTO'
588
+
589
+ # auth_names
590
+ auth_names = opts[:debug_auth_names] || ['bearer-jwt']
591
+
592
+ new_options = opts.merge(
593
+ :operation => :"UserApi.prompt_search_user_files",
594
+ :header_params => header_params,
595
+ :query_params => query_params,
596
+ :form_params => form_params,
597
+ :body => post_body,
598
+ :auth_names => auth_names,
599
+ :return_type => return_type
600
+ )
601
+
602
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
603
+ if @api_client.config.debugging
604
+ @api_client.config.logger.debug "API called: UserApi#prompt_search_user_files\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
605
+ end
606
+ return data, status_code, headers
607
+ end
608
+
547
609
  # Timeseries of AI generated moods, musical features and more for recordings in your folder.
548
610
  # @param folder_name [String] Folder name
549
611
  # @param [Hash] opts the optional parameters
@@ -583,7 +645,7 @@ module SongtradrApiClientRuby
583
645
  if @api_client.config.client_side_validation && folder_name.nil?
584
646
  fail ArgumentError, "Missing the required parameter 'folder_name' when calling UserApi.recordings_by_folder_with_taggrams"
585
647
  end
586
- allowable_values = ["instrument", "vocals", "energy", "soundGeneration", "rhythm", "songRating", "performanceRating", "productionRating", "moodCluster", "tonality", "arousal", "valence", "pleasantness", "engagement", "timbre", "roughness", "harmony", "texture", "groovyness", "space", "audienceAge", "audienceRegion", "audienceGender", "originRegion", "originDecade", "languageOfPerformance", "level1Genre", "level2Genre"]
648
+ allowable_values = ["instrument", "vocals", "energy", "soundGeneration", "rhythm", "songRating", "performanceRating", "productionRating", "moodCluster", "tonality", "arousal", "valence", "pleasantness", "engagement", "timbre", "roughness", "harmony", "texture", "groovyness", "space", "audienceAge", "audienceRegion", "audienceGender", "originRegion", "originDecade", "languageOfPerformance", "level1Genre", "level2Genre", "curateability", "useCase", "channelSuitability", "industrySuitability", "loudness"]
587
649
  if @api_client.config.client_side_validation && opts[:'category_name'] && !allowable_values.include?(opts[:'category_name'])
588
650
  fail ArgumentError, "invalid value for \"category_name\", must be one of #{allowable_values}"
589
651
  end
@@ -669,7 +731,7 @@ module SongtradrApiClientRuby
669
731
  if @api_client.config.client_side_validation && folder_name.nil?
670
732
  fail ArgumentError, "Missing the required parameter 'folder_name' when calling UserApi.recordings_by_folder_with_tagstrengths"
671
733
  end
672
- allowable_values = ["instrument", "vocals", "energy", "soundGeneration", "rhythm", "songRating", "performanceRating", "productionRating", "moodCluster", "tonality", "arousal", "valence", "pleasantness", "engagement", "timbre", "roughness", "harmony", "texture", "groovyness", "space", "audienceAge", "audienceRegion", "audienceGender", "originRegion", "originDecade", "languageOfPerformance", "level1Genre", "level2Genre"]
734
+ allowable_values = ["instrument", "vocals", "energy", "soundGeneration", "rhythm", "songRating", "performanceRating", "productionRating", "moodCluster", "tonality", "arousal", "valence", "pleasantness", "engagement", "timbre", "roughness", "harmony", "texture", "groovyness", "space", "audienceAge", "audienceRegion", "audienceGender", "originRegion", "originDecade", "languageOfPerformance", "level1Genre", "level2Genre", "curateability", "useCase", "channelSuitability", "industrySuitability", "loudness"]
673
735
  if @api_client.config.client_side_validation && opts[:'category_name'] && !allowable_values.include?(opts[:'category_name'])
674
736
  fail ArgumentError, "invalid value for \"category_name\", must be one of #{allowable_values}"
675
737
  end
@@ -719,399 +781,6 @@ module SongtradrApiClientRuby
719
781
  return data, status_code, headers
720
782
  end
721
783
 
722
- # List, search and create playlist of your own files.
723
- # @param [Hash] opts the optional parameters
724
- # @option opts [String] :isrc Search for a ISRC
725
- # @option opts [String] :contributor Search for a name that was involved as any contributor.
726
- # @option opts [String] :main_artist Search for a main artist.
727
- # @option opts [String] :composer Search for a composer.
728
- # @option opts [String] :title Search for a title.
729
- # @option opts [String] :party_and_title Search for party and title.
730
- # @option opts [String] :language Search for a language of the lyrics.
731
- # @option opts [Array<String>] :genre_names
732
- # @option opts [Array<String>] :tag_names
733
- # @option opts [Time] :release_date
734
- # @option opts [String] :primary_mood_cluster
735
- # @option opts [String] :secondary_mood_cluster
736
- # @option opts [String] :tertiary_mood_cluster
737
- # @option opts [String] :valence
738
- # @option opts [String] :arousal
739
- # @option opts [String] :pleasantness
740
- # @option opts [String] :engagement
741
- # @option opts [String] :vocals
742
- # @option opts [String] :dominant_instrument
743
- # @option opts [String] :secondary_instrument
744
- # @option opts [String] :tertiary_instrument
745
- # @option opts [String] :energy
746
- # @option opts [String] :sound_generation
747
- # @option opts [String] :tempo
748
- # @option opts [String] :scale
749
- # @option opts [String] :key
750
- # @option opts [String] :rhythm
751
- # @option opts [String] :primary_sound_character
752
- # @option opts [String] :timbre
753
- # @option opts [String] :roughness
754
- # @option opts [String] :tonality
755
- # @option opts [String] :harmony
756
- # @option opts [String] :texture
757
- # @option opts [String] :groovyness
758
- # @option opts [String] :space
759
- # @option opts [String] :production_rating
760
- # @option opts [String] :performance_rating
761
- # @option opts [String] :song_rating
762
- # @option opts [String] :audience_age
763
- # @option opts [String] :audience_region
764
- # @option opts [String] :audience_gender
765
- # @option opts [String] :origin_decade
766
- # @option opts [String] :curateability
767
- # @option opts [String] :use_case
768
- # @option opts [String] :channel_suitability
769
- # @option opts [String] :similar_to_recording
770
- # @option opts [String] :create_playlist_with_name
771
- # @option opts [String] :songtradr_track_id
772
- # @option opts [String] :usage_name
773
- # @option opts [Integer] :bpm_min Search for a minimal bpm.
774
- # @option opts [Integer] :bpm_max Search for a maximal bpm.
775
- # @option opts [String] :name Search for a file name.
776
- # @option opts [String] :folder Search for a folder.
777
- # @option opts [String] :extension Search for a file extension.
778
- # @option opts [Time] :upload_end_time
779
- # @option opts [Time] :min_upload_end_time
780
- # @option opts [Time] :max_upload_end_time
781
- # @option opts [String] :fingerprint_status Search for a fingerprint status.
782
- # @option opts [String] :inference_status Search for a inference status.
783
- # @option opts [Integer] :page Zero-based page index (0..N) (default to 0)
784
- # @option opts [Integer] :size The size of the page to be returned (default to 100)
785
- # @option opts [Array<String>] :sort Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
786
- # @return [FileListDTO]
787
- def save_playlist(opts = {})
788
- data, _status_code, _headers = save_playlist_with_http_info(opts)
789
- data
790
- end
791
-
792
- # List, search and create playlist of your own files.
793
- # @param [Hash] opts the optional parameters
794
- # @option opts [String] :isrc Search for a ISRC
795
- # @option opts [String] :contributor Search for a name that was involved as any contributor.
796
- # @option opts [String] :main_artist Search for a main artist.
797
- # @option opts [String] :composer Search for a composer.
798
- # @option opts [String] :title Search for a title.
799
- # @option opts [String] :party_and_title Search for party and title.
800
- # @option opts [String] :language Search for a language of the lyrics.
801
- # @option opts [Array<String>] :genre_names
802
- # @option opts [Array<String>] :tag_names
803
- # @option opts [Time] :release_date
804
- # @option opts [String] :primary_mood_cluster
805
- # @option opts [String] :secondary_mood_cluster
806
- # @option opts [String] :tertiary_mood_cluster
807
- # @option opts [String] :valence
808
- # @option opts [String] :arousal
809
- # @option opts [String] :pleasantness
810
- # @option opts [String] :engagement
811
- # @option opts [String] :vocals
812
- # @option opts [String] :dominant_instrument
813
- # @option opts [String] :secondary_instrument
814
- # @option opts [String] :tertiary_instrument
815
- # @option opts [String] :energy
816
- # @option opts [String] :sound_generation
817
- # @option opts [String] :tempo
818
- # @option opts [String] :scale
819
- # @option opts [String] :key
820
- # @option opts [String] :rhythm
821
- # @option opts [String] :primary_sound_character
822
- # @option opts [String] :timbre
823
- # @option opts [String] :roughness
824
- # @option opts [String] :tonality
825
- # @option opts [String] :harmony
826
- # @option opts [String] :texture
827
- # @option opts [String] :groovyness
828
- # @option opts [String] :space
829
- # @option opts [String] :production_rating
830
- # @option opts [String] :performance_rating
831
- # @option opts [String] :song_rating
832
- # @option opts [String] :audience_age
833
- # @option opts [String] :audience_region
834
- # @option opts [String] :audience_gender
835
- # @option opts [String] :origin_decade
836
- # @option opts [String] :curateability
837
- # @option opts [String] :use_case
838
- # @option opts [String] :channel_suitability
839
- # @option opts [String] :similar_to_recording
840
- # @option opts [String] :create_playlist_with_name
841
- # @option opts [String] :songtradr_track_id
842
- # @option opts [String] :usage_name
843
- # @option opts [Integer] :bpm_min Search for a minimal bpm.
844
- # @option opts [Integer] :bpm_max Search for a maximal bpm.
845
- # @option opts [String] :name Search for a file name.
846
- # @option opts [String] :folder Search for a folder.
847
- # @option opts [String] :extension Search for a file extension.
848
- # @option opts [Time] :upload_end_time
849
- # @option opts [Time] :min_upload_end_time
850
- # @option opts [Time] :max_upload_end_time
851
- # @option opts [String] :fingerprint_status Search for a fingerprint status.
852
- # @option opts [String] :inference_status Search for a inference status.
853
- # @option opts [Integer] :page Zero-based page index (0..N) (default to 0)
854
- # @option opts [Integer] :size The size of the page to be returned (default to 100)
855
- # @option opts [Array<String>] :sort Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
856
- # @return [Array<(FileListDTO, Integer, Hash)>] FileListDTO data, response status code and response headers
857
- def save_playlist_with_http_info(opts = {})
858
- if @api_client.config.debugging
859
- @api_client.config.logger.debug 'Calling API: UserApi.save_playlist ...'
860
- end
861
- allowable_values = ["en", "es", "fr", "de", "jp", "cn", "IT", "RU"]
862
- if @api_client.config.client_side_validation && opts[:'language'] && !allowable_values.include?(opts[:'language'])
863
- fail ArgumentError, "invalid value for \"language\", must be one of #{allowable_values}"
864
- end
865
- allowable_values = ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"]
866
- if @api_client.config.client_side_validation && opts[:'primary_mood_cluster'] && !allowable_values.include?(opts[:'primary_mood_cluster'])
867
- fail ArgumentError, "invalid value for \"primary_mood_cluster\", must be one of #{allowable_values}"
868
- end
869
- allowable_values = ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"]
870
- if @api_client.config.client_side_validation && opts[:'secondary_mood_cluster'] && !allowable_values.include?(opts[:'secondary_mood_cluster'])
871
- fail ArgumentError, "invalid value for \"secondary_mood_cluster\", must be one of #{allowable_values}"
872
- end
873
- allowable_values = ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"]
874
- if @api_client.config.client_side_validation && opts[:'tertiary_mood_cluster'] && !allowable_values.include?(opts[:'tertiary_mood_cluster'])
875
- fail ArgumentError, "invalid value for \"tertiary_mood_cluster\", must be one of #{allowable_values}"
876
- end
877
- allowable_values = ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"]
878
- if @api_client.config.client_side_validation && opts[:'valence'] && !allowable_values.include?(opts[:'valence'])
879
- fail ArgumentError, "invalid value for \"valence\", must be one of #{allowable_values}"
880
- end
881
- allowable_values = ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"]
882
- if @api_client.config.client_side_validation && opts[:'arousal'] && !allowable_values.include?(opts[:'arousal'])
883
- fail ArgumentError, "invalid value for \"arousal\", must be one of #{allowable_values}"
884
- end
885
- allowable_values = ["very unpleasant", "unpleasant", "neutral pleasantness", "pleasant", "very pleasant", "varying pleasantness"]
886
- if @api_client.config.client_side_validation && opts[:'pleasantness'] && !allowable_values.include?(opts[:'pleasantness'])
887
- fail ArgumentError, "invalid value for \"pleasantness\", must be one of #{allowable_values}"
888
- end
889
- allowable_values = ["very unengaging", "unengaging", "neutral engagement", "engaging", "very engaging", "varying engagement"]
890
- if @api_client.config.client_side_validation && opts[:'engagement'] && !allowable_values.include?(opts[:'engagement'])
891
- fail ArgumentError, "invalid value for \"engagement\", must be one of #{allowable_values}"
892
- end
893
- allowable_values = ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"]
894
- if @api_client.config.client_side_validation && opts[:'vocals'] && !allowable_values.include?(opts[:'vocals'])
895
- fail ArgumentError, "invalid value for \"vocals\", must be one of #{allowable_values}"
896
- end
897
- allowable_values = ["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"]
898
- if @api_client.config.client_side_validation && opts[:'dominant_instrument'] && !allowable_values.include?(opts[:'dominant_instrument'])
899
- fail ArgumentError, "invalid value for \"dominant_instrument\", must be one of #{allowable_values}"
900
- end
901
- allowable_values = ["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"]
902
- if @api_client.config.client_side_validation && opts[:'secondary_instrument'] && !allowable_values.include?(opts[:'secondary_instrument'])
903
- fail ArgumentError, "invalid value for \"secondary_instrument\", must be one of #{allowable_values}"
904
- end
905
- allowable_values = ["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"]
906
- if @api_client.config.client_side_validation && opts[:'tertiary_instrument'] && !allowable_values.include?(opts[:'tertiary_instrument'])
907
- fail ArgumentError, "invalid value for \"tertiary_instrument\", must be one of #{allowable_values}"
908
- end
909
- allowable_values = ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"]
910
- if @api_client.config.client_side_validation && opts[:'energy'] && !allowable_values.include?(opts[:'energy'])
911
- fail ArgumentError, "invalid value for \"energy\", must be one of #{allowable_values}"
912
- end
913
- allowable_values = ["acoustic", "electric", "electronic", "mixed sound generation"]
914
- if @api_client.config.client_side_validation && opts[:'sound_generation'] && !allowable_values.include?(opts[:'sound_generation'])
915
- fail ArgumentError, "invalid value for \"sound_generation\", must be one of #{allowable_values}"
916
- end
917
- allowable_values = ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"]
918
- if @api_client.config.client_side_validation && opts[:'tempo'] && !allowable_values.include?(opts[:'tempo'])
919
- fail ArgumentError, "invalid value for \"tempo\", must be one of #{allowable_values}"
920
- end
921
- allowable_values = ["major key", "minor key", "neutral key"]
922
- if @api_client.config.client_side_validation && opts[:'scale'] && !allowable_values.include?(opts[:'scale'])
923
- fail ArgumentError, "invalid value for \"scale\", must be one of #{allowable_values}"
924
- end
925
- allowable_values = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "unclear"]
926
- if @api_client.config.client_side_validation && opts[:'key'] && !allowable_values.include?(opts[:'key'])
927
- fail ArgumentError, "invalid value for \"key\", must be one of #{allowable_values}"
928
- end
929
- allowable_values = ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"]
930
- if @api_client.config.client_side_validation && opts[:'rhythm'] && !allowable_values.include?(opts[:'rhythm'])
931
- fail ArgumentError, "invalid value for \"rhythm\", must be one of #{allowable_values}"
932
- end
933
- allowable_values = ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"]
934
- if @api_client.config.client_side_validation && opts[:'primary_sound_character'] && !allowable_values.include?(opts[:'primary_sound_character'])
935
- fail ArgumentError, "invalid value for \"primary_sound_character\", must be one of #{allowable_values}"
936
- end
937
- allowable_values = ["very warm", "warm", "moderate timbre", "bright", "very bright"]
938
- if @api_client.config.client_side_validation && opts[:'timbre'] && !allowable_values.include?(opts[:'timbre'])
939
- fail ArgumentError, "invalid value for \"timbre\", must be one of #{allowable_values}"
940
- end
941
- allowable_values = ["very clear", "clear", "moderate roughness", "distorted", "very distorted"]
942
- if @api_client.config.client_side_validation && opts[:'roughness'] && !allowable_values.include?(opts[:'roughness'])
943
- fail ArgumentError, "invalid value for \"roughness\", must be one of #{allowable_values}"
944
- end
945
- allowable_values = ["monotonous", "moderate melodiousness", "melodious", "atonal"]
946
- if @api_client.config.client_side_validation && opts[:'tonality'] && !allowable_values.include?(opts[:'tonality'])
947
- fail ArgumentError, "invalid value for \"tonality\", must be one of #{allowable_values}"
948
- end
949
- allowable_values = ["very dissonant", "dissonant", "moderate harmonies", "harmonious", "very harmonious"]
950
- if @api_client.config.client_side_validation && opts[:'harmony'] && !allowable_values.include?(opts[:'harmony'])
951
- fail ArgumentError, "invalid value for \"harmony\", must be one of #{allowable_values}"
952
- end
953
- allowable_values = ["very thin", "thin", "moderate texture", "full", "very full"]
954
- if @api_client.config.client_side_validation && opts[:'texture'] && !allowable_values.include?(opts[:'texture'])
955
- fail ArgumentError, "invalid value for \"texture\", must be one of #{allowable_values}"
956
- end
957
- allowable_values = ["very steady", "steady", "moderate rhythm feel", "groovy", "very groovy"]
958
- if @api_client.config.client_side_validation && opts[:'groovyness'] && !allowable_values.include?(opts[:'groovyness'])
959
- fail ArgumentError, "invalid value for \"groovyness\", must be one of #{allowable_values}"
960
- end
961
- allowable_values = ["very compact", "compact", "moderate space", "wide", "very wide"]
962
- if @api_client.config.client_side_validation && opts[:'space'] && !allowable_values.include?(opts[:'space'])
963
- fail ArgumentError, "invalid value for \"space\", must be one of #{allowable_values}"
964
- end
965
- allowable_values = ["low production quality", "medium production quality", "high production quality"]
966
- if @api_client.config.client_side_validation && opts[:'production_rating'] && !allowable_values.include?(opts[:'production_rating'])
967
- fail ArgumentError, "invalid value for \"production_rating\", must be one of #{allowable_values}"
968
- end
969
- allowable_values = ["low performance quality", "medium performance quality", "high performance quality"]
970
- if @api_client.config.client_side_validation && opts[:'performance_rating'] && !allowable_values.include?(opts[:'performance_rating'])
971
- fail ArgumentError, "invalid value for \"performance_rating\", must be one of #{allowable_values}"
972
- end
973
- allowable_values = ["low song quality", "medium song quality", "high song quality"]
974
- if @api_client.config.client_side_validation && opts[:'song_rating'] && !allowable_values.include?(opts[:'song_rating'])
975
- fail ArgumentError, "invalid value for \"song_rating\", must be one of #{allowable_values}"
976
- end
977
- allowable_values = ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"]
978
- if @api_client.config.client_side_validation && opts[:'audience_age'] && !allowable_values.include?(opts[:'audience_age'])
979
- fail ArgumentError, "invalid value for \"audience_age\", must be one of #{allowable_values}"
980
- end
981
- allowable_values = ["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"]
982
- if @api_client.config.client_side_validation && opts[:'audience_region'] && !allowable_values.include?(opts[:'audience_region'])
983
- fail ArgumentError, "invalid value for \"audience_region\", must be one of #{allowable_values}"
984
- end
985
- allowable_values = ["male", "female"]
986
- if @api_client.config.client_side_validation && opts[:'audience_gender'] && !allowable_values.include?(opts[:'audience_gender'])
987
- fail ArgumentError, "invalid value for \"audience_gender\", must be one of #{allowable_values}"
988
- end
989
- allowable_values = ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"]
990
- if @api_client.config.client_side_validation && opts[:'origin_decade'] && !allowable_values.include?(opts[:'origin_decade'])
991
- fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{allowable_values}"
992
- end
993
- allowable_values = ["curateable", "uncurateable"]
994
- if @api_client.config.client_side_validation && opts[:'curateability'] && !allowable_values.include?(opts[:'curateability'])
995
- fail ArgumentError, "invalid value for \"curateability\", must be one of #{allowable_values}"
996
- end
997
- allowable_values = ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax", "karaoke"]
998
- if @api_client.config.client_side_validation && opts[:'use_case'] && !allowable_values.include?(opts[:'use_case'])
999
- fail ArgumentError, "invalid value for \"use_case\", must be one of #{allowable_values}"
1000
- end
1001
- allowable_values = ["Spotify", "TikTok", "Unfitting", "YouTube"]
1002
- if @api_client.config.client_side_validation && opts[:'channel_suitability'] && !allowable_values.include?(opts[:'channel_suitability'])
1003
- fail ArgumentError, "invalid value for \"channel_suitability\", must be one of #{allowable_values}"
1004
- end
1005
- if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 0
1006
- fail ArgumentError, 'invalid value for "opts[:"page"]" when calling UserApi.save_playlist, must be greater than or equal to 0.'
1007
- end
1008
-
1009
- if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] < 1
1010
- fail ArgumentError, 'invalid value for "opts[:"size"]" when calling UserApi.save_playlist, must be greater than or equal to 1.'
1011
- end
1012
-
1013
- # resource path
1014
- local_var_path = '/api/v1/user/savePlaylist'
1015
-
1016
- # query parameters
1017
- query_params = opts[:query_params] || {}
1018
- query_params[:'ISRC'] = opts[:'isrc'] if !opts[:'isrc'].nil?
1019
- query_params[:'contributor'] = opts[:'contributor'] if !opts[:'contributor'].nil?
1020
- query_params[:'mainArtist'] = opts[:'main_artist'] if !opts[:'main_artist'].nil?
1021
- query_params[:'composer'] = opts[:'composer'] if !opts[:'composer'].nil?
1022
- query_params[:'title'] = opts[:'title'] if !opts[:'title'].nil?
1023
- query_params[:'partyAndTitle'] = opts[:'party_and_title'] if !opts[:'party_and_title'].nil?
1024
- query_params[:'language'] = opts[:'language'] if !opts[:'language'].nil?
1025
- query_params[:'genreNames'] = @api_client.build_collection_param(opts[:'genre_names'], :multi) if !opts[:'genre_names'].nil?
1026
- query_params[:'tagNames'] = @api_client.build_collection_param(opts[:'tag_names'], :multi) if !opts[:'tag_names'].nil?
1027
- query_params[:'releaseDate'] = opts[:'release_date'] if !opts[:'release_date'].nil?
1028
- query_params[:'primaryMoodCluster'] = opts[:'primary_mood_cluster'] if !opts[:'primary_mood_cluster'].nil?
1029
- query_params[:'secondaryMoodCluster'] = opts[:'secondary_mood_cluster'] if !opts[:'secondary_mood_cluster'].nil?
1030
- query_params[:'tertiaryMoodCluster'] = opts[:'tertiary_mood_cluster'] if !opts[:'tertiary_mood_cluster'].nil?
1031
- query_params[:'valence'] = opts[:'valence'] if !opts[:'valence'].nil?
1032
- query_params[:'arousal'] = opts[:'arousal'] if !opts[:'arousal'].nil?
1033
- query_params[:'pleasantness'] = opts[:'pleasantness'] if !opts[:'pleasantness'].nil?
1034
- query_params[:'engagement'] = opts[:'engagement'] if !opts[:'engagement'].nil?
1035
- query_params[:'vocals'] = opts[:'vocals'] if !opts[:'vocals'].nil?
1036
- query_params[:'dominantInstrument'] = opts[:'dominant_instrument'] if !opts[:'dominant_instrument'].nil?
1037
- query_params[:'secondaryInstrument'] = opts[:'secondary_instrument'] if !opts[:'secondary_instrument'].nil?
1038
- query_params[:'tertiaryInstrument'] = opts[:'tertiary_instrument'] if !opts[:'tertiary_instrument'].nil?
1039
- query_params[:'energy'] = opts[:'energy'] if !opts[:'energy'].nil?
1040
- query_params[:'soundGeneration'] = opts[:'sound_generation'] if !opts[:'sound_generation'].nil?
1041
- query_params[:'tempo'] = opts[:'tempo'] if !opts[:'tempo'].nil?
1042
- query_params[:'scale'] = opts[:'scale'] if !opts[:'scale'].nil?
1043
- query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil?
1044
- query_params[:'rhythm'] = opts[:'rhythm'] if !opts[:'rhythm'].nil?
1045
- query_params[:'primarySoundCharacter'] = opts[:'primary_sound_character'] if !opts[:'primary_sound_character'].nil?
1046
- query_params[:'timbre'] = opts[:'timbre'] if !opts[:'timbre'].nil?
1047
- query_params[:'roughness'] = opts[:'roughness'] if !opts[:'roughness'].nil?
1048
- query_params[:'tonality'] = opts[:'tonality'] if !opts[:'tonality'].nil?
1049
- query_params[:'harmony'] = opts[:'harmony'] if !opts[:'harmony'].nil?
1050
- query_params[:'texture'] = opts[:'texture'] if !opts[:'texture'].nil?
1051
- query_params[:'groovyness'] = opts[:'groovyness'] if !opts[:'groovyness'].nil?
1052
- query_params[:'space'] = opts[:'space'] if !opts[:'space'].nil?
1053
- query_params[:'productionRating'] = opts[:'production_rating'] if !opts[:'production_rating'].nil?
1054
- query_params[:'performanceRating'] = opts[:'performance_rating'] if !opts[:'performance_rating'].nil?
1055
- query_params[:'songRating'] = opts[:'song_rating'] if !opts[:'song_rating'].nil?
1056
- query_params[:'audienceAge'] = opts[:'audience_age'] if !opts[:'audience_age'].nil?
1057
- query_params[:'audienceRegion'] = opts[:'audience_region'] if !opts[:'audience_region'].nil?
1058
- query_params[:'audienceGender'] = opts[:'audience_gender'] if !opts[:'audience_gender'].nil?
1059
- query_params[:'originDecade'] = opts[:'origin_decade'] if !opts[:'origin_decade'].nil?
1060
- query_params[:'curateability'] = opts[:'curateability'] if !opts[:'curateability'].nil?
1061
- query_params[:'useCase'] = opts[:'use_case'] if !opts[:'use_case'].nil?
1062
- query_params[:'channelSuitability'] = opts[:'channel_suitability'] if !opts[:'channel_suitability'].nil?
1063
- query_params[:'similarToRecording'] = opts[:'similar_to_recording'] if !opts[:'similar_to_recording'].nil?
1064
- query_params[:'createPlaylistWithName'] = opts[:'create_playlist_with_name'] if !opts[:'create_playlist_with_name'].nil?
1065
- query_params[:'songtradrTrackId'] = opts[:'songtradr_track_id'] if !opts[:'songtradr_track_id'].nil?
1066
- query_params[:'usageName'] = opts[:'usage_name'] if !opts[:'usage_name'].nil?
1067
- query_params[:'bpmMin'] = opts[:'bpm_min'] if !opts[:'bpm_min'].nil?
1068
- query_params[:'bpmMax'] = opts[:'bpm_max'] if !opts[:'bpm_max'].nil?
1069
- query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
1070
- query_params[:'folder'] = opts[:'folder'] if !opts[:'folder'].nil?
1071
- query_params[:'extension'] = opts[:'extension'] if !opts[:'extension'].nil?
1072
- query_params[:'uploadEndTime'] = opts[:'upload_end_time'] if !opts[:'upload_end_time'].nil?
1073
- query_params[:'minUploadEndTime'] = opts[:'min_upload_end_time'] if !opts[:'min_upload_end_time'].nil?
1074
- query_params[:'maxUploadEndTime'] = opts[:'max_upload_end_time'] if !opts[:'max_upload_end_time'].nil?
1075
- query_params[:'fingerprintStatus'] = opts[:'fingerprint_status'] if !opts[:'fingerprint_status'].nil?
1076
- query_params[:'inferenceStatus'] = opts[:'inference_status'] if !opts[:'inference_status'].nil?
1077
- query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
1078
- query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil?
1079
- query_params[:'sort'] = @api_client.build_collection_param(opts[:'sort'], :multi) if !opts[:'sort'].nil?
1080
-
1081
- # header parameters
1082
- header_params = opts[:header_params] || {}
1083
- # HTTP header 'Accept' (if needed)
1084
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1085
-
1086
- # form parameters
1087
- form_params = opts[:form_params] || {}
1088
-
1089
- # http body (model)
1090
- post_body = opts[:debug_body]
1091
-
1092
- # return_type
1093
- return_type = opts[:debug_return_type] || 'FileListDTO'
1094
-
1095
- # auth_names
1096
- auth_names = opts[:debug_auth_names] || ['bearer-jwt']
1097
-
1098
- new_options = opts.merge(
1099
- :operation => :"UserApi.save_playlist",
1100
- :header_params => header_params,
1101
- :query_params => query_params,
1102
- :form_params => form_params,
1103
- :body => post_body,
1104
- :auth_names => auth_names,
1105
- :return_type => return_type
1106
- )
1107
-
1108
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1109
- if @api_client.config.debugging
1110
- @api_client.config.logger.debug "API called: UserApi#save_playlist\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1111
- end
1112
- return data, status_code, headers
1113
- end
1114
-
1115
784
  # Sign up a new user.
1116
785
  # @param save_user_dto [SaveUserDTO]
1117
786
  # @param [Hash] opts the optional parameters
@@ -1408,6 +1077,7 @@ module SongtradrApiClientRuby
1408
1077
  # @option opts [String] :texture
1409
1078
  # @option opts [String] :groovyness
1410
1079
  # @option opts [String] :space
1080
+ # @option opts [String] :loudness
1411
1081
  # @option opts [String] :production_rating
1412
1082
  # @option opts [String] :performance_rating
1413
1083
  # @option opts [String] :song_rating
@@ -1477,6 +1147,7 @@ module SongtradrApiClientRuby
1477
1147
  # @option opts [String] :texture
1478
1148
  # @option opts [String] :groovyness
1479
1149
  # @option opts [String] :space
1150
+ # @option opts [String] :loudness
1480
1151
  # @option opts [String] :production_rating
1481
1152
  # @option opts [String] :performance_rating
1482
1153
  # @option opts [String] :song_rating
@@ -1544,15 +1215,15 @@ module SongtradrApiClientRuby
1544
1215
  if @api_client.config.client_side_validation && opts[:'vocals'] && !allowable_values.include?(opts[:'vocals'])
1545
1216
  fail ArgumentError, "invalid value for \"vocals\", must be one of #{allowable_values}"
1546
1217
  end
1547
- allowable_values = ["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"]
1218
+ allowable_values = ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"]
1548
1219
  if @api_client.config.client_side_validation && opts[:'dominant_instrument'] && !allowable_values.include?(opts[:'dominant_instrument'])
1549
1220
  fail ArgumentError, "invalid value for \"dominant_instrument\", must be one of #{allowable_values}"
1550
1221
  end
1551
- allowable_values = ["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"]
1222
+ allowable_values = ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"]
1552
1223
  if @api_client.config.client_side_validation && opts[:'secondary_instrument'] && !allowable_values.include?(opts[:'secondary_instrument'])
1553
1224
  fail ArgumentError, "invalid value for \"secondary_instrument\", must be one of #{allowable_values}"
1554
1225
  end
1555
- allowable_values = ["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"]
1226
+ allowable_values = ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"]
1556
1227
  if @api_client.config.client_side_validation && opts[:'tertiary_instrument'] && !allowable_values.include?(opts[:'tertiary_instrument'])
1557
1228
  fail ArgumentError, "invalid value for \"tertiary_instrument\", must be one of #{allowable_values}"
1558
1229
  end
@@ -1612,6 +1283,10 @@ module SongtradrApiClientRuby
1612
1283
  if @api_client.config.client_side_validation && opts[:'space'] && !allowable_values.include?(opts[:'space'])
1613
1284
  fail ArgumentError, "invalid value for \"space\", must be one of #{allowable_values}"
1614
1285
  end
1286
+ allowable_values = ["very low", "low", "moderate", "high", "very high"]
1287
+ if @api_client.config.client_side_validation && opts[:'loudness'] && !allowable_values.include?(opts[:'loudness'])
1288
+ fail ArgumentError, "invalid value for \"loudness\", must be one of #{allowable_values}"
1289
+ end
1615
1290
  allowable_values = ["low production quality", "medium production quality", "high production quality"]
1616
1291
  if @api_client.config.client_side_validation && opts[:'production_rating'] && !allowable_values.include?(opts[:'production_rating'])
1617
1292
  fail ArgumentError, "invalid value for \"production_rating\", must be one of #{allowable_values}"
@@ -1700,6 +1375,7 @@ module SongtradrApiClientRuby
1700
1375
  query_params[:'texture'] = opts[:'texture'] if !opts[:'texture'].nil?
1701
1376
  query_params[:'groovyness'] = opts[:'groovyness'] if !opts[:'groovyness'].nil?
1702
1377
  query_params[:'space'] = opts[:'space'] if !opts[:'space'].nil?
1378
+ query_params[:'loudness'] = opts[:'loudness'] if !opts[:'loudness'].nil?
1703
1379
  query_params[:'productionRating'] = opts[:'production_rating'] if !opts[:'production_rating'].nil?
1704
1380
  query_params[:'performanceRating'] = opts[:'performance_rating'] if !opts[:'performance_rating'].nil?
1705
1381
  query_params[:'songRating'] = opts[:'song_rating'] if !opts[:'song_rating'].nil?
@@ -1859,6 +1535,7 @@ module SongtradrApiClientRuby
1859
1535
  # @option opts [String] :texture
1860
1536
  # @option opts [String] :groovyness
1861
1537
  # @option opts [String] :space
1538
+ # @option opts [String] :loudness
1862
1539
  # @option opts [String] :production_rating
1863
1540
  # @option opts [String] :performance_rating
1864
1541
  # @option opts [String] :song_rating
@@ -1924,6 +1601,7 @@ module SongtradrApiClientRuby
1924
1601
  # @option opts [String] :texture
1925
1602
  # @option opts [String] :groovyness
1926
1603
  # @option opts [String] :space
1604
+ # @option opts [String] :loudness
1927
1605
  # @option opts [String] :production_rating
1928
1606
  # @option opts [String] :performance_rating
1929
1607
  # @option opts [String] :song_rating
@@ -1988,15 +1666,15 @@ module SongtradrApiClientRuby
1988
1666
  if @api_client.config.client_side_validation && opts[:'vocals'] && !allowable_values.include?(opts[:'vocals'])
1989
1667
  fail ArgumentError, "invalid value for \"vocals\", must be one of #{allowable_values}"
1990
1668
  end
1991
- allowable_values = ["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"]
1669
+ allowable_values = ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"]
1992
1670
  if @api_client.config.client_side_validation && opts[:'dominant_instrument'] && !allowable_values.include?(opts[:'dominant_instrument'])
1993
1671
  fail ArgumentError, "invalid value for \"dominant_instrument\", must be one of #{allowable_values}"
1994
1672
  end
1995
- allowable_values = ["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"]
1673
+ allowable_values = ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"]
1996
1674
  if @api_client.config.client_side_validation && opts[:'secondary_instrument'] && !allowable_values.include?(opts[:'secondary_instrument'])
1997
1675
  fail ArgumentError, "invalid value for \"secondary_instrument\", must be one of #{allowable_values}"
1998
1676
  end
1999
- allowable_values = ["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"]
1677
+ allowable_values = ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"]
2000
1678
  if @api_client.config.client_side_validation && opts[:'tertiary_instrument'] && !allowable_values.include?(opts[:'tertiary_instrument'])
2001
1679
  fail ArgumentError, "invalid value for \"tertiary_instrument\", must be one of #{allowable_values}"
2002
1680
  end
@@ -2056,6 +1734,10 @@ module SongtradrApiClientRuby
2056
1734
  if @api_client.config.client_side_validation && opts[:'space'] && !allowable_values.include?(opts[:'space'])
2057
1735
  fail ArgumentError, "invalid value for \"space\", must be one of #{allowable_values}"
2058
1736
  end
1737
+ allowable_values = ["very low", "low", "moderate", "high", "very high"]
1738
+ if @api_client.config.client_side_validation && opts[:'loudness'] && !allowable_values.include?(opts[:'loudness'])
1739
+ fail ArgumentError, "invalid value for \"loudness\", must be one of #{allowable_values}"
1740
+ end
2059
1741
  allowable_values = ["low production quality", "medium production quality", "high production quality"]
2060
1742
  if @api_client.config.client_side_validation && opts[:'production_rating'] && !allowable_values.include?(opts[:'production_rating'])
2061
1743
  fail ArgumentError, "invalid value for \"production_rating\", must be one of #{allowable_values}"
@@ -2135,6 +1817,7 @@ module SongtradrApiClientRuby
2135
1817
  query_params[:'texture'] = opts[:'texture'] if !opts[:'texture'].nil?
2136
1818
  query_params[:'groovyness'] = opts[:'groovyness'] if !opts[:'groovyness'].nil?
2137
1819
  query_params[:'space'] = opts[:'space'] if !opts[:'space'].nil?
1820
+ query_params[:'loudness'] = opts[:'loudness'] if !opts[:'loudness'].nil?
2138
1821
  query_params[:'productionRating'] = opts[:'production_rating'] if !opts[:'production_rating'].nil?
2139
1822
  query_params[:'performanceRating'] = opts[:'performance_rating'] if !opts[:'performance_rating'].nil?
2140
1823
  query_params[:'songRating'] = opts[:'song_rating'] if !opts[:'song_rating'].nil?