musicube_api_client_ruby 1.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +9 -0
- data/README.md +223 -0
- data/Rakefile +10 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/docs/AllowedValuesApi.md +200 -0
- data/docs/CategoryMediumDTO.md +22 -0
- data/docs/CategoryMinimalDTO.md +18 -0
- data/docs/ConfigAccessDTO.md +20 -0
- data/docs/ConfigIdentifierDTO.md +20 -0
- data/docs/ContributorTypeDTO.md +18 -0
- data/docs/ErrorResponse.md +26 -0
- data/docs/FieldSummaryDTO.md +22 -0
- data/docs/FileDTO.md +50 -0
- data/docs/FileListDTO.md +24 -0
- data/docs/FileMinimalWithUrlDTO.md +22 -0
- data/docs/FileSmallDTO.md +46 -0
- data/docs/FileUploadDTO.md +22 -0
- data/docs/FileWIthUrlDTO.md +20 -0
- data/docs/FilesSummaryDTO.md +30 -0
- data/docs/ForgotPasswordDTO.md +20 -0
- data/docs/GenreDTO.md +20 -0
- data/docs/GenreMinimalDTO.md +18 -0
- data/docs/GenresSummaryDTO.md +22 -0
- data/docs/InitPutRecordingAudioDTO.md +22 -0
- data/docs/JwtTokenDTO.md +22 -0
- data/docs/LoginDTO.md +24 -0
- data/docs/MusicalFeaturesDTO.md +186 -0
- data/docs/PLineDTO.md +20 -0
- data/docs/PartyApi.md +75 -0
- data/docs/PartyLargeDTO.md +32 -0
- data/docs/PartySmallDTO.md +20 -0
- data/docs/PlaylistApi.md +221 -0
- data/docs/PlaylistLargeDTO.md +38 -0
- data/docs/ProductMediumDTO.md +34 -0
- data/docs/ProductPartyDTO.md +20 -0
- data/docs/RecordingApi.md +789 -0
- data/docs/RecordingForSimilaritySearchDTO.md +20 -0
- data/docs/RecordingGenrePredictionDTO.md +22 -0
- data/docs/RecordingLargeDTO.md +40 -0
- data/docs/RecordingListDTO.md +24 -0
- data/docs/RecordingMediumDTO.md +36 -0
- data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +20 -0
- data/docs/RecordingMinimalWithTaggramsDTO.md +22 -0
- data/docs/RecordingMinimalWithTagstrengthsDTO.md +20 -0
- data/docs/RecordingPartyDTO.md +20 -0
- data/docs/RecordingPlaylistDTO.md +24 -0
- data/docs/RecordingSmallDTO.md +24 -0
- data/docs/RecordingTagSmallDTO.md +18 -0
- data/docs/SaveFileRecordingDTO.md +236 -0
- data/docs/SavePlaylistDTO.md +34 -0
- data/docs/SaveRecordingGenreDTO.md +22 -0
- data/docs/SaveRecordingPartyDTO.md +20 -0
- data/docs/SaveRecordingPlaylistDTO.md +22 -0
- data/docs/SaveRecordingTagDTO.md +20 -0
- data/docs/SaveReferrerDTO.md +20 -0
- data/docs/SaveTaggramsDTO.md +82 -0
- data/docs/SaveUserDTO.md +28 -0
- data/docs/SearchFilterValuesDTO.md +98 -0
- data/docs/SearchRecordingGranularAbstractionDTO.md +20 -0
- data/docs/SearchRecordingGranularDTO.md +22 -0
- data/docs/SignUpDTO.md +24 -0
- data/docs/TagDTO.md +22 -0
- data/docs/TagSmallDTO.md +20 -0
- data/docs/TaggramDTO.md +26 -0
- data/docs/TagsSummaryDTO.md +22 -0
- data/docs/TagstrengthDTO.md +26 -0
- data/docs/TitleDTO.md +18 -0
- data/docs/TokenRequest.md +18 -0
- data/docs/TrackToMediumProductDTO.md +22 -0
- data/docs/UpdatePasswordDTO.md +20 -0
- data/docs/UsageDTO.md +18 -0
- data/docs/UserApi.md +1936 -0
- data/docs/UserDTO.md +56 -0
- data/git_push.sh +57 -0
- data/lib/musicube_api_client_ruby/api/allowed_values_api.rb +213 -0
- data/lib/musicube_api_client_ruby/api/party_api.rb +84 -0
- data/lib/musicube_api_client_ruby/api/playlist_api.rb +222 -0
- data/lib/musicube_api_client_ruby/api/recording_api.rb +900 -0
- data/lib/musicube_api_client_ruby/api/user_api.rb +2642 -0
- data/lib/musicube_api_client_ruby/api_client.rb +428 -0
- data/lib/musicube_api_client_ruby/api_error.rb +58 -0
- data/lib/musicube_api_client_ruby/configuration.rb +380 -0
- data/lib/musicube_api_client_ruby/models/category_medium_dto.rb +250 -0
- data/lib/musicube_api_client_ruby/models/category_minimal_dto.rb +225 -0
- data/lib/musicube_api_client_ruby/models/config_access_dto.rb +287 -0
- data/lib/musicube_api_client_ruby/models/config_identifier_dto.rb +239 -0
- data/lib/musicube_api_client_ruby/models/contributor_type_dto.rb +225 -0
- data/lib/musicube_api_client_ruby/models/error_response.rb +276 -0
- data/lib/musicube_api_client_ruby/models/field_summary_dto.rb +253 -0
- data/lib/musicube_api_client_ruby/models/file_dto.rb +450 -0
- data/lib/musicube_api_client_ruby/models/file_list_dto.rb +269 -0
- data/lib/musicube_api_client_ruby/models/file_minimal_with_url_dto.rb +253 -0
- data/lib/musicube_api_client_ruby/models/file_small_dto.rb +432 -0
- data/lib/musicube_api_client_ruby/models/file_upload_dto.rb +244 -0
- data/lib/musicube_api_client_ruby/models/file_w_ith_url_dto.rb +239 -0
- data/lib/musicube_api_client_ruby/models/files_summary_dto.rb +287 -0
- data/lib/musicube_api_client_ruby/models/forgot_password_dto.rb +267 -0
- data/lib/musicube_api_client_ruby/models/genre_dto.rb +239 -0
- data/lib/musicube_api_client_ruby/models/genre_minimal_dto.rb +225 -0
- data/lib/musicube_api_client_ruby/models/genres_summary_dto.rb +248 -0
- data/lib/musicube_api_client_ruby/models/init_put_recording_audio_dto.rb +238 -0
- data/lib/musicube_api_client_ruby/models/jwt_token_dto.rb +248 -0
- data/lib/musicube_api_client_ruby/models/login_dto.rb +257 -0
- data/lib/musicube_api_client_ruby/models/musical_features_dto.rb +1532 -0
- data/lib/musicube_api_client_ruby/models/p_line_dto.rb +234 -0
- data/lib/musicube_api_client_ruby/models/party_large_dto.rb +288 -0
- data/lib/musicube_api_client_ruby/models/party_small_dto.rb +239 -0
- data/lib/musicube_api_client_ruby/models/playlist_large_dto.rb +353 -0
- data/lib/musicube_api_client_ruby/models/product_medium_dto.rb +316 -0
- data/lib/musicube_api_client_ruby/models/product_party_dto.rb +236 -0
- data/lib/musicube_api_client_ruby/models/recording_for_similarity_search_dto.rb +239 -0
- data/lib/musicube_api_client_ruby/models/recording_genre_prediction_dto.rb +253 -0
- data/lib/musicube_api_client_ruby/models/recording_large_dto.rb +366 -0
- data/lib/musicube_api_client_ruby/models/recording_list_dto.rb +269 -0
- data/lib/musicube_api_client_ruby/models/recording_medium_dto.rb +340 -0
- data/lib/musicube_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +236 -0
- data/lib/musicube_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +248 -0
- data/lib/musicube_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +236 -0
- data/lib/musicube_api_client_ruby/models/recording_party_dto.rb +236 -0
- data/lib/musicube_api_client_ruby/models/recording_playlist_dto.rb +247 -0
- data/lib/musicube_api_client_ruby/models/recording_small_dto.rb +268 -0
- data/lib/musicube_api_client_ruby/models/recording_tag_small_dto.rb +225 -0
- data/lib/musicube_api_client_ruby/models/save_file_recording_dto.rb +1847 -0
- data/lib/musicube_api_client_ruby/models/save_playlist_dto.rb +350 -0
- data/lib/musicube_api_client_ruby/models/save_recording_genre_dto.rb +243 -0
- data/lib/musicube_api_client_ruby/models/save_recording_party_dto.rb +273 -0
- data/lib/musicube_api_client_ruby/models/save_recording_playlist_dto.rb +248 -0
- data/lib/musicube_api_client_ruby/models/save_recording_tag_dto.rb +234 -0
- data/lib/musicube_api_client_ruby/models/save_referrer_dto.rb +229 -0
- data/lib/musicube_api_client_ruby/models/save_taggrams_dto.rb +574 -0
- data/lib/musicube_api_client_ruby/models/save_user_dto.rb +317 -0
- data/lib/musicube_api_client_ruby/models/search_filter_values_dto.rb +867 -0
- data/lib/musicube_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +270 -0
- data/lib/musicube_api_client_ruby/models/search_recording_granular_dto.rb +245 -0
- data/lib/musicube_api_client_ruby/models/sign_up_dto.rb +262 -0
- data/lib/musicube_api_client_ruby/models/tag_dto.rb +250 -0
- data/lib/musicube_api_client_ruby/models/tag_small_dto.rb +239 -0
- data/lib/musicube_api_client_ruby/models/taggram_dto.rb +271 -0
- data/lib/musicube_api_client_ruby/models/tags_summary_dto.rb +250 -0
- data/lib/musicube_api_client_ruby/models/tagstrength_dto.rb +269 -0
- data/lib/musicube_api_client_ruby/models/title_dto.rb +225 -0
- data/lib/musicube_api_client_ruby/models/token_request.rb +224 -0
- data/lib/musicube_api_client_ruby/models/track_to_medium_product_dto.rb +248 -0
- data/lib/musicube_api_client_ruby/models/update_password_dto.rb +238 -0
- data/lib/musicube_api_client_ruby/models/usage_dto.rb +220 -0
- data/lib/musicube_api_client_ruby/models/user_dto.rb +481 -0
- data/lib/musicube_api_client_ruby/version.rb +15 -0
- data/lib/musicube_api_client_ruby.rb +108 -0
- data/musicube_api_client_ruby.gemspec +39 -0
- data/openapi-generator-config.yaml +9 -0
- data/spec/api/allowed_values_api_spec.rb +68 -0
- data/spec/api/party_api_spec.rb +46 -0
- data/spec/api/playlist_api_spec.rb +72 -0
- data/spec/api/recording_api_spec.rb +192 -0
- data/spec/api/user_api_spec.rb +507 -0
- data/spec/api_client_spec.rb +223 -0
- data/spec/configuration_spec.rb +82 -0
- data/spec/models/category_medium_dto_spec.rb +46 -0
- data/spec/models/category_minimal_dto_spec.rb +34 -0
- data/spec/models/config_access_dto_spec.rb +48 -0
- data/spec/models/config_identifier_dto_spec.rb +40 -0
- data/spec/models/contributor_type_dto_spec.rb +34 -0
- data/spec/models/error_response_spec.rb +58 -0
- data/spec/models/field_summary_dto_spec.rb +46 -0
- data/spec/models/file_dto_spec.rb +142 -0
- data/spec/models/file_list_dto_spec.rb +52 -0
- data/spec/models/file_minimal_with_url_dto_spec.rb +46 -0
- data/spec/models/file_small_dto_spec.rb +130 -0
- data/spec/models/file_upload_dto_spec.rb +46 -0
- data/spec/models/file_w_ith_url_dto_spec.rb +40 -0
- data/spec/models/files_summary_dto_spec.rb +70 -0
- data/spec/models/forgot_password_dto_spec.rb +44 -0
- data/spec/models/genre_dto_spec.rb +40 -0
- data/spec/models/genre_minimal_dto_spec.rb +34 -0
- data/spec/models/genres_summary_dto_spec.rb +46 -0
- data/spec/models/init_put_recording_audio_dto_spec.rb +46 -0
- data/spec/models/jwt_token_dto_spec.rb +46 -0
- data/spec/models/login_dto_spec.rb +52 -0
- data/spec/models/musical_features_dto_spec.rb +706 -0
- data/spec/models/p_line_dto_spec.rb +40 -0
- data/spec/models/party_large_dto_spec.rb +76 -0
- data/spec/models/party_small_dto_spec.rb +40 -0
- data/spec/models/playlist_large_dto_spec.rb +98 -0
- data/spec/models/product_medium_dto_spec.rb +82 -0
- data/spec/models/product_party_dto_spec.rb +40 -0
- data/spec/models/recording_for_similarity_search_dto_spec.rb +40 -0
- data/spec/models/recording_genre_prediction_dto_spec.rb +46 -0
- data/spec/models/recording_large_dto_spec.rb +100 -0
- data/spec/models/recording_list_dto_spec.rb +52 -0
- data/spec/models/recording_medium_dto_spec.rb +88 -0
- data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +40 -0
- data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +46 -0
- data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +40 -0
- data/spec/models/recording_party_dto_spec.rb +40 -0
- data/spec/models/recording_playlist_dto_spec.rb +52 -0
- data/spec/models/recording_small_dto_spec.rb +52 -0
- data/spec/models/recording_tag_small_dto_spec.rb +34 -0
- data/spec/models/save_file_recording_dto_spec.rb +880 -0
- data/spec/models/save_playlist_dto_spec.rb +86 -0
- data/spec/models/save_recording_genre_dto_spec.rb +46 -0
- data/spec/models/save_recording_party_dto_spec.rb +44 -0
- data/spec/models/save_recording_playlist_dto_spec.rb +46 -0
- data/spec/models/save_recording_tag_dto_spec.rb +40 -0
- data/spec/models/save_referrer_dto_spec.rb +40 -0
- data/spec/models/save_taggrams_dto_spec.rb +226 -0
- data/spec/models/save_user_dto_spec.rb +72 -0
- data/spec/models/search_filter_values_dto_spec.rb +274 -0
- data/spec/models/search_recording_granular_abstraction_dto_spec.rb +44 -0
- data/spec/models/search_recording_granular_dto_spec.rb +46 -0
- data/spec/models/sign_up_dto_spec.rb +52 -0
- data/spec/models/tag_dto_spec.rb +46 -0
- data/spec/models/tag_small_dto_spec.rb +40 -0
- data/spec/models/taggram_dto_spec.rb +58 -0
- data/spec/models/tags_summary_dto_spec.rb +46 -0
- data/spec/models/tagstrength_dto_spec.rb +58 -0
- data/spec/models/title_dto_spec.rb +34 -0
- data/spec/models/token_request_spec.rb +34 -0
- data/spec/models/track_to_medium_product_dto_spec.rb +46 -0
- data/spec/models/update_password_dto_spec.rb +40 -0
- data/spec/models/usage_dto_spec.rb +34 -0
- data/spec/models/user_dto_spec.rb +148 -0
- data/spec/musicube_api_client_ruby_spec.rb +11 -0
- data/spec/spec_helper.rb +111 -0
- metadata +415 -0
@@ -0,0 +1,1847 @@
|
|
1
|
+
=begin
|
2
|
+
#Songtradr API
|
3
|
+
|
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
|
+
|
6
|
+
The version of the OpenAPI document: 1.12.21
|
7
|
+
Contact: info@songtradr.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.6.0
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module MusicubeApiClientRuby
|
17
|
+
# Data crafted by AI or users.
|
18
|
+
class SaveFileRecordingDTO
|
19
|
+
attr_accessor :isrc
|
20
|
+
|
21
|
+
attr_accessor :name
|
22
|
+
|
23
|
+
attr_accessor :folder
|
24
|
+
|
25
|
+
attr_accessor :primary_mood_cluster_affinity
|
26
|
+
|
27
|
+
# Search for a language of the lyrics
|
28
|
+
attr_accessor :primary_mood_cluster
|
29
|
+
|
30
|
+
attr_accessor :secondary_mood_cluster_affinity
|
31
|
+
|
32
|
+
# Search for a language of the lyrics
|
33
|
+
attr_accessor :secondary_mood_cluster
|
34
|
+
|
35
|
+
attr_accessor :tertiary_mood_cluster_affinity
|
36
|
+
|
37
|
+
# Search for a language of the lyrics
|
38
|
+
attr_accessor :tertiary_mood_cluster
|
39
|
+
|
40
|
+
attr_accessor :valence_affinity
|
41
|
+
|
42
|
+
attr_accessor :arousal_affinity
|
43
|
+
|
44
|
+
attr_accessor :pleasantness_affinity
|
45
|
+
|
46
|
+
attr_accessor :engagement_affinity
|
47
|
+
|
48
|
+
# Search for a valence
|
49
|
+
attr_accessor :valence
|
50
|
+
|
51
|
+
# Search for an arousal
|
52
|
+
attr_accessor :arousal
|
53
|
+
|
54
|
+
# Search for pleasantness
|
55
|
+
attr_accessor :pleasantness
|
56
|
+
|
57
|
+
# Search for an engagement
|
58
|
+
attr_accessor :engagement
|
59
|
+
|
60
|
+
# Search for a vocal gender or instrumental songs
|
61
|
+
attr_accessor :vocals
|
62
|
+
|
63
|
+
attr_accessor :vocals_affinity
|
64
|
+
|
65
|
+
# Search for a dominant instrument
|
66
|
+
attr_accessor :dominant_instrument
|
67
|
+
|
68
|
+
attr_accessor :dominant_instrument_affinity
|
69
|
+
|
70
|
+
attr_accessor :secondary_instrument_affinity
|
71
|
+
|
72
|
+
# Search for a dominant instrument
|
73
|
+
attr_accessor :secondary_instrument
|
74
|
+
|
75
|
+
attr_accessor :tertiary_instrument_affinity
|
76
|
+
|
77
|
+
# Search for a dominant instrument
|
78
|
+
attr_accessor :tertiary_instrument
|
79
|
+
|
80
|
+
# Search for energy
|
81
|
+
attr_accessor :energy
|
82
|
+
|
83
|
+
attr_accessor :energy_affinity
|
84
|
+
|
85
|
+
# Search for type of sound generation
|
86
|
+
attr_accessor :sound_generation
|
87
|
+
|
88
|
+
attr_accessor :sound_generation_affinity
|
89
|
+
|
90
|
+
# Search for tempo
|
91
|
+
attr_accessor :tempo
|
92
|
+
|
93
|
+
attr_accessor :tempo_affinity
|
94
|
+
|
95
|
+
# Search for a tonal scale
|
96
|
+
attr_accessor :scale
|
97
|
+
|
98
|
+
attr_accessor :scale_affinity
|
99
|
+
|
100
|
+
# Search for rhythm
|
101
|
+
attr_accessor :rhythm
|
102
|
+
|
103
|
+
attr_accessor :rhythm_affinity
|
104
|
+
|
105
|
+
# Search for a sound character
|
106
|
+
attr_accessor :primary_sound_character
|
107
|
+
|
108
|
+
attr_accessor :primary_sound_character_affinity
|
109
|
+
|
110
|
+
attr_accessor :timbre_affinity
|
111
|
+
|
112
|
+
attr_accessor :roughness_affinity
|
113
|
+
|
114
|
+
attr_accessor :tonality_affinity
|
115
|
+
|
116
|
+
attr_accessor :harmony_affinity
|
117
|
+
|
118
|
+
attr_accessor :texture_affinity
|
119
|
+
|
120
|
+
attr_accessor :groovyness_affinity
|
121
|
+
|
122
|
+
attr_accessor :space_affinity
|
123
|
+
|
124
|
+
# Search for timbre
|
125
|
+
attr_accessor :timbre
|
126
|
+
|
127
|
+
# Search for roughness
|
128
|
+
attr_accessor :roughness
|
129
|
+
|
130
|
+
# Search for tonality
|
131
|
+
attr_accessor :tonality
|
132
|
+
|
133
|
+
# Search for a degree of harmoniousness
|
134
|
+
attr_accessor :harmony
|
135
|
+
|
136
|
+
# Search for texture
|
137
|
+
attr_accessor :texture
|
138
|
+
|
139
|
+
# Search for groovyness
|
140
|
+
attr_accessor :groovyness
|
141
|
+
|
142
|
+
# Search for space
|
143
|
+
attr_accessor :space
|
144
|
+
|
145
|
+
attr_accessor :bpm
|
146
|
+
|
147
|
+
# Search for a harmonic key
|
148
|
+
attr_accessor :key
|
149
|
+
|
150
|
+
attr_accessor :key_affinity
|
151
|
+
|
152
|
+
attr_accessor :production_rating
|
153
|
+
|
154
|
+
attr_accessor :production_rating_affinity
|
155
|
+
|
156
|
+
attr_accessor :performance_rating
|
157
|
+
|
158
|
+
attr_accessor :performance_rating_affinity
|
159
|
+
|
160
|
+
attr_accessor :song_rating
|
161
|
+
|
162
|
+
attr_accessor :song_rating_affinity
|
163
|
+
|
164
|
+
attr_accessor :audience_gender
|
165
|
+
|
166
|
+
attr_accessor :audience_gender_affinity
|
167
|
+
|
168
|
+
attr_accessor :audience_region
|
169
|
+
|
170
|
+
attr_accessor :audience_region_affinity
|
171
|
+
|
172
|
+
attr_accessor :secondary_audience_region_affinity
|
173
|
+
|
174
|
+
attr_accessor :secondary_audience_region
|
175
|
+
|
176
|
+
attr_accessor :tertiary_audience_region_affinity
|
177
|
+
|
178
|
+
attr_accessor :tertiary_audience_region
|
179
|
+
|
180
|
+
attr_accessor :audience_age
|
181
|
+
|
182
|
+
attr_accessor :audience_age_affinity
|
183
|
+
|
184
|
+
attr_accessor :secondary_audience_age
|
185
|
+
|
186
|
+
attr_accessor :secondary_audience_age_affinity
|
187
|
+
|
188
|
+
attr_accessor :tertiary_audience_age
|
189
|
+
|
190
|
+
attr_accessor :tertiary_audience_age_affinity
|
191
|
+
|
192
|
+
# Search for origin decade
|
193
|
+
attr_accessor :origin_decade
|
194
|
+
|
195
|
+
attr_accessor :origin_decade_affinity
|
196
|
+
|
197
|
+
attr_accessor :language_of_performance
|
198
|
+
|
199
|
+
attr_accessor :language_of_performance_affinity
|
200
|
+
|
201
|
+
attr_accessor :origin_region
|
202
|
+
|
203
|
+
attr_accessor :origin_region_affinity
|
204
|
+
|
205
|
+
attr_accessor :taggrams
|
206
|
+
|
207
|
+
attr_accessor :embeddings
|
208
|
+
|
209
|
+
attr_accessor :level1_genre
|
210
|
+
|
211
|
+
attr_accessor :level1_genre_affinity
|
212
|
+
|
213
|
+
attr_accessor :secondary_level1_genre
|
214
|
+
|
215
|
+
attr_accessor :secondary_level1_genre_affinity
|
216
|
+
|
217
|
+
attr_accessor :tertiary_level1_genre
|
218
|
+
|
219
|
+
attr_accessor :tertiary_level1_genre_affinity
|
220
|
+
|
221
|
+
attr_accessor :level2_genre
|
222
|
+
|
223
|
+
attr_accessor :level2_genre_affinity
|
224
|
+
|
225
|
+
attr_accessor :secondary_level2_genre
|
226
|
+
|
227
|
+
attr_accessor :secondary_level2_genre_affinity
|
228
|
+
|
229
|
+
attr_accessor :tertiary_level2_genre
|
230
|
+
|
231
|
+
attr_accessor :tertiary_level2_genre_affinity
|
232
|
+
|
233
|
+
# Search for curatebility
|
234
|
+
attr_accessor :curateability
|
235
|
+
|
236
|
+
attr_accessor :curateability_affinity
|
237
|
+
|
238
|
+
# Search for use case
|
239
|
+
attr_accessor :use_case
|
240
|
+
|
241
|
+
attr_accessor :use_case_affinity
|
242
|
+
|
243
|
+
# Search for social media suitability
|
244
|
+
attr_accessor :social_media
|
245
|
+
|
246
|
+
attr_accessor :social_media_affinity
|
247
|
+
|
248
|
+
# Search for Industry suitability
|
249
|
+
attr_accessor :industry_suitability
|
250
|
+
|
251
|
+
attr_accessor :industry_suitability_affinity
|
252
|
+
|
253
|
+
attr_accessor :created_by_version
|
254
|
+
|
255
|
+
attr_accessor :tags
|
256
|
+
|
257
|
+
attr_accessor :genres
|
258
|
+
|
259
|
+
attr_accessor :parties
|
260
|
+
|
261
|
+
attr_accessor :iswc
|
262
|
+
|
263
|
+
attr_accessor :proprietary_id_gema
|
264
|
+
|
265
|
+
attr_accessor :title
|
266
|
+
|
267
|
+
attr_accessor :version_title
|
268
|
+
|
269
|
+
class EnumAttributeValidator
|
270
|
+
attr_reader :datatype
|
271
|
+
attr_reader :allowable_values
|
272
|
+
|
273
|
+
def initialize(datatype, allowable_values)
|
274
|
+
@allowable_values = allowable_values.map do |value|
|
275
|
+
case datatype.to_s
|
276
|
+
when /Integer/i
|
277
|
+
value.to_i
|
278
|
+
when /Float/i
|
279
|
+
value.to_f
|
280
|
+
else
|
281
|
+
value
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|
285
|
+
|
286
|
+
def valid?(value)
|
287
|
+
!value || allowable_values.include?(value)
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
292
|
+
def self.attribute_map
|
293
|
+
{
|
294
|
+
:'isrc' => :'isrc',
|
295
|
+
:'name' => :'name',
|
296
|
+
:'folder' => :'folder',
|
297
|
+
:'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
|
298
|
+
:'primary_mood_cluster' => :'primaryMoodCluster',
|
299
|
+
:'secondary_mood_cluster_affinity' => :'secondaryMoodClusterAffinity',
|
300
|
+
:'secondary_mood_cluster' => :'secondaryMoodCluster',
|
301
|
+
:'tertiary_mood_cluster_affinity' => :'tertiaryMoodClusterAffinity',
|
302
|
+
:'tertiary_mood_cluster' => :'tertiaryMoodCluster',
|
303
|
+
:'valence_affinity' => :'valenceAffinity',
|
304
|
+
:'arousal_affinity' => :'arousalAffinity',
|
305
|
+
:'pleasantness_affinity' => :'pleasantnessAffinity',
|
306
|
+
:'engagement_affinity' => :'engagementAffinity',
|
307
|
+
:'valence' => :'valence',
|
308
|
+
:'arousal' => :'arousal',
|
309
|
+
:'pleasantness' => :'pleasantness',
|
310
|
+
:'engagement' => :'engagement',
|
311
|
+
:'vocals' => :'vocals',
|
312
|
+
:'vocals_affinity' => :'vocalsAffinity',
|
313
|
+
:'dominant_instrument' => :'dominantInstrument',
|
314
|
+
:'dominant_instrument_affinity' => :'dominantInstrumentAffinity',
|
315
|
+
:'secondary_instrument_affinity' => :'secondaryInstrumentAffinity',
|
316
|
+
:'secondary_instrument' => :'secondaryInstrument',
|
317
|
+
:'tertiary_instrument_affinity' => :'tertiaryInstrumentAffinity',
|
318
|
+
:'tertiary_instrument' => :'tertiaryInstrument',
|
319
|
+
:'energy' => :'energy',
|
320
|
+
:'energy_affinity' => :'energyAffinity',
|
321
|
+
:'sound_generation' => :'soundGeneration',
|
322
|
+
:'sound_generation_affinity' => :'soundGenerationAffinity',
|
323
|
+
:'tempo' => :'tempo',
|
324
|
+
:'tempo_affinity' => :'tempoAffinity',
|
325
|
+
:'scale' => :'scale',
|
326
|
+
:'scale_affinity' => :'scaleAffinity',
|
327
|
+
:'rhythm' => :'rhythm',
|
328
|
+
:'rhythm_affinity' => :'rhythmAffinity',
|
329
|
+
:'primary_sound_character' => :'primarySoundCharacter',
|
330
|
+
:'primary_sound_character_affinity' => :'primarySoundCharacterAffinity',
|
331
|
+
:'timbre_affinity' => :'timbreAffinity',
|
332
|
+
:'roughness_affinity' => :'roughnessAffinity',
|
333
|
+
:'tonality_affinity' => :'tonalityAffinity',
|
334
|
+
:'harmony_affinity' => :'harmonyAffinity',
|
335
|
+
:'texture_affinity' => :'textureAffinity',
|
336
|
+
:'groovyness_affinity' => :'groovynessAffinity',
|
337
|
+
:'space_affinity' => :'spaceAffinity',
|
338
|
+
:'timbre' => :'timbre',
|
339
|
+
:'roughness' => :'roughness',
|
340
|
+
:'tonality' => :'tonality',
|
341
|
+
:'harmony' => :'harmony',
|
342
|
+
:'texture' => :'texture',
|
343
|
+
:'groovyness' => :'groovyness',
|
344
|
+
:'space' => :'space',
|
345
|
+
:'bpm' => :'bpm',
|
346
|
+
:'key' => :'key',
|
347
|
+
:'key_affinity' => :'keyAffinity',
|
348
|
+
:'production_rating' => :'productionRating',
|
349
|
+
:'production_rating_affinity' => :'productionRatingAffinity',
|
350
|
+
:'performance_rating' => :'performanceRating',
|
351
|
+
:'performance_rating_affinity' => :'performanceRatingAffinity',
|
352
|
+
:'song_rating' => :'songRating',
|
353
|
+
:'song_rating_affinity' => :'songRatingAffinity',
|
354
|
+
:'audience_gender' => :'audienceGender',
|
355
|
+
:'audience_gender_affinity' => :'audienceGenderAffinity',
|
356
|
+
:'audience_region' => :'audienceRegion',
|
357
|
+
:'audience_region_affinity' => :'audienceRegionAffinity',
|
358
|
+
:'secondary_audience_region_affinity' => :'secondaryAudienceRegionAffinity',
|
359
|
+
:'secondary_audience_region' => :'secondaryAudienceRegion',
|
360
|
+
:'tertiary_audience_region_affinity' => :'tertiaryAudienceRegionAffinity',
|
361
|
+
:'tertiary_audience_region' => :'tertiaryAudienceRegion',
|
362
|
+
:'audience_age' => :'audienceAge',
|
363
|
+
:'audience_age_affinity' => :'audienceAgeAffinity',
|
364
|
+
:'secondary_audience_age' => :'secondaryAudienceAge',
|
365
|
+
:'secondary_audience_age_affinity' => :'secondaryAudienceAgeAffinity',
|
366
|
+
:'tertiary_audience_age' => :'tertiaryAudienceAge',
|
367
|
+
:'tertiary_audience_age_affinity' => :'tertiaryAudienceAgeAffinity',
|
368
|
+
:'origin_decade' => :'originDecade',
|
369
|
+
:'origin_decade_affinity' => :'originDecadeAffinity',
|
370
|
+
:'language_of_performance' => :'languageOfPerformance',
|
371
|
+
:'language_of_performance_affinity' => :'languageOfPerformanceAffinity',
|
372
|
+
:'origin_region' => :'originRegion',
|
373
|
+
:'origin_region_affinity' => :'originRegionAffinity',
|
374
|
+
:'taggrams' => :'taggrams',
|
375
|
+
:'embeddings' => :'embeddings',
|
376
|
+
:'level1_genre' => :'level1Genre',
|
377
|
+
:'level1_genre_affinity' => :'level1GenreAffinity',
|
378
|
+
:'secondary_level1_genre' => :'secondaryLevel1Genre',
|
379
|
+
:'secondary_level1_genre_affinity' => :'secondaryLevel1GenreAffinity',
|
380
|
+
:'tertiary_level1_genre' => :'tertiaryLevel1Genre',
|
381
|
+
:'tertiary_level1_genre_affinity' => :'tertiaryLevel1GenreAffinity',
|
382
|
+
:'level2_genre' => :'level2Genre',
|
383
|
+
:'level2_genre_affinity' => :'level2GenreAffinity',
|
384
|
+
:'secondary_level2_genre' => :'secondaryLevel2Genre',
|
385
|
+
:'secondary_level2_genre_affinity' => :'secondaryLevel2GenreAffinity',
|
386
|
+
:'tertiary_level2_genre' => :'tertiaryLevel2Genre',
|
387
|
+
:'tertiary_level2_genre_affinity' => :'tertiaryLevel2GenreAffinity',
|
388
|
+
:'curateability' => :'curateability',
|
389
|
+
:'curateability_affinity' => :'curateabilityAffinity',
|
390
|
+
:'use_case' => :'useCase',
|
391
|
+
:'use_case_affinity' => :'useCaseAffinity',
|
392
|
+
:'social_media' => :'socialMedia',
|
393
|
+
:'social_media_affinity' => :'socialMediaAffinity',
|
394
|
+
:'industry_suitability' => :'industrySuitability',
|
395
|
+
:'industry_suitability_affinity' => :'industrySuitabilityAffinity',
|
396
|
+
:'created_by_version' => :'createdByVersion',
|
397
|
+
:'tags' => :'tags',
|
398
|
+
:'genres' => :'genres',
|
399
|
+
:'parties' => :'parties',
|
400
|
+
:'iswc' => :'iswc',
|
401
|
+
:'proprietary_id_gema' => :'proprietaryIdGema',
|
402
|
+
:'title' => :'title',
|
403
|
+
:'version_title' => :'versionTitle'
|
404
|
+
}
|
405
|
+
end
|
406
|
+
|
407
|
+
# Returns all the JSON keys this model knows about
|
408
|
+
def self.acceptable_attributes
|
409
|
+
attribute_map.values
|
410
|
+
end
|
411
|
+
|
412
|
+
# Attribute type mapping.
|
413
|
+
def self.openapi_types
|
414
|
+
{
|
415
|
+
:'isrc' => :'String',
|
416
|
+
:'name' => :'String',
|
417
|
+
:'folder' => :'String',
|
418
|
+
:'primary_mood_cluster_affinity' => :'Float',
|
419
|
+
:'primary_mood_cluster' => :'String',
|
420
|
+
:'secondary_mood_cluster_affinity' => :'Float',
|
421
|
+
:'secondary_mood_cluster' => :'String',
|
422
|
+
:'tertiary_mood_cluster_affinity' => :'Float',
|
423
|
+
:'tertiary_mood_cluster' => :'String',
|
424
|
+
:'valence_affinity' => :'Float',
|
425
|
+
:'arousal_affinity' => :'Float',
|
426
|
+
:'pleasantness_affinity' => :'Float',
|
427
|
+
:'engagement_affinity' => :'Float',
|
428
|
+
:'valence' => :'String',
|
429
|
+
:'arousal' => :'String',
|
430
|
+
:'pleasantness' => :'String',
|
431
|
+
:'engagement' => :'String',
|
432
|
+
:'vocals' => :'String',
|
433
|
+
:'vocals_affinity' => :'Float',
|
434
|
+
:'dominant_instrument' => :'String',
|
435
|
+
:'dominant_instrument_affinity' => :'Float',
|
436
|
+
:'secondary_instrument_affinity' => :'Float',
|
437
|
+
:'secondary_instrument' => :'String',
|
438
|
+
:'tertiary_instrument_affinity' => :'Float',
|
439
|
+
:'tertiary_instrument' => :'String',
|
440
|
+
:'energy' => :'String',
|
441
|
+
:'energy_affinity' => :'Float',
|
442
|
+
:'sound_generation' => :'String',
|
443
|
+
:'sound_generation_affinity' => :'Float',
|
444
|
+
:'tempo' => :'String',
|
445
|
+
:'tempo_affinity' => :'Float',
|
446
|
+
:'scale' => :'String',
|
447
|
+
:'scale_affinity' => :'Float',
|
448
|
+
:'rhythm' => :'String',
|
449
|
+
:'rhythm_affinity' => :'Float',
|
450
|
+
:'primary_sound_character' => :'String',
|
451
|
+
:'primary_sound_character_affinity' => :'Float',
|
452
|
+
:'timbre_affinity' => :'Float',
|
453
|
+
:'roughness_affinity' => :'Float',
|
454
|
+
:'tonality_affinity' => :'Float',
|
455
|
+
:'harmony_affinity' => :'Float',
|
456
|
+
:'texture_affinity' => :'Float',
|
457
|
+
:'groovyness_affinity' => :'Float',
|
458
|
+
:'space_affinity' => :'Float',
|
459
|
+
:'timbre' => :'String',
|
460
|
+
:'roughness' => :'String',
|
461
|
+
:'tonality' => :'String',
|
462
|
+
:'harmony' => :'String',
|
463
|
+
:'texture' => :'String',
|
464
|
+
:'groovyness' => :'String',
|
465
|
+
:'space' => :'String',
|
466
|
+
:'bpm' => :'Float',
|
467
|
+
:'key' => :'String',
|
468
|
+
:'key_affinity' => :'Float',
|
469
|
+
:'production_rating' => :'String',
|
470
|
+
:'production_rating_affinity' => :'Float',
|
471
|
+
:'performance_rating' => :'String',
|
472
|
+
:'performance_rating_affinity' => :'Float',
|
473
|
+
:'song_rating' => :'String',
|
474
|
+
:'song_rating_affinity' => :'Float',
|
475
|
+
:'audience_gender' => :'String',
|
476
|
+
:'audience_gender_affinity' => :'Float',
|
477
|
+
:'audience_region' => :'String',
|
478
|
+
:'audience_region_affinity' => :'Float',
|
479
|
+
:'secondary_audience_region_affinity' => :'Float',
|
480
|
+
:'secondary_audience_region' => :'String',
|
481
|
+
:'tertiary_audience_region_affinity' => :'Float',
|
482
|
+
:'tertiary_audience_region' => :'String',
|
483
|
+
:'audience_age' => :'String',
|
484
|
+
:'audience_age_affinity' => :'Float',
|
485
|
+
:'secondary_audience_age' => :'String',
|
486
|
+
:'secondary_audience_age_affinity' => :'Float',
|
487
|
+
:'tertiary_audience_age' => :'String',
|
488
|
+
:'tertiary_audience_age_affinity' => :'Float',
|
489
|
+
:'origin_decade' => :'String',
|
490
|
+
:'origin_decade_affinity' => :'Float',
|
491
|
+
:'language_of_performance' => :'String',
|
492
|
+
:'language_of_performance_affinity' => :'Float',
|
493
|
+
:'origin_region' => :'String',
|
494
|
+
:'origin_region_affinity' => :'Float',
|
495
|
+
:'taggrams' => :'SaveTaggramsDTO',
|
496
|
+
:'embeddings' => :'Array<Float>',
|
497
|
+
:'level1_genre' => :'String',
|
498
|
+
:'level1_genre_affinity' => :'Float',
|
499
|
+
:'secondary_level1_genre' => :'String',
|
500
|
+
:'secondary_level1_genre_affinity' => :'Float',
|
501
|
+
:'tertiary_level1_genre' => :'String',
|
502
|
+
:'tertiary_level1_genre_affinity' => :'Float',
|
503
|
+
:'level2_genre' => :'String',
|
504
|
+
:'level2_genre_affinity' => :'Float',
|
505
|
+
:'secondary_level2_genre' => :'String',
|
506
|
+
:'secondary_level2_genre_affinity' => :'Float',
|
507
|
+
:'tertiary_level2_genre' => :'String',
|
508
|
+
:'tertiary_level2_genre_affinity' => :'Float',
|
509
|
+
:'curateability' => :'String',
|
510
|
+
:'curateability_affinity' => :'Float',
|
511
|
+
:'use_case' => :'String',
|
512
|
+
:'use_case_affinity' => :'Float',
|
513
|
+
:'social_media' => :'String',
|
514
|
+
:'social_media_affinity' => :'Float',
|
515
|
+
:'industry_suitability' => :'String',
|
516
|
+
:'industry_suitability_affinity' => :'Float',
|
517
|
+
:'created_by_version' => :'String',
|
518
|
+
:'tags' => :'Array<SaveRecordingTagDTO>',
|
519
|
+
:'genres' => :'Array<SaveRecordingGenreDTO>',
|
520
|
+
:'parties' => :'Array<SaveRecordingPartyDTO>',
|
521
|
+
:'iswc' => :'String',
|
522
|
+
:'proprietary_id_gema' => :'String',
|
523
|
+
:'title' => :'String',
|
524
|
+
:'version_title' => :'String'
|
525
|
+
}
|
526
|
+
end
|
527
|
+
|
528
|
+
# List of attributes with nullable: true
|
529
|
+
def self.openapi_nullable
|
530
|
+
Set.new([
|
531
|
+
])
|
532
|
+
end
|
533
|
+
|
534
|
+
# Initializes the object
|
535
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
536
|
+
def initialize(attributes = {})
|
537
|
+
if (!attributes.is_a?(Hash))
|
538
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MusicubeApiClientRuby::SaveFileRecordingDTO` initialize method"
|
539
|
+
end
|
540
|
+
|
541
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
542
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
543
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
544
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MusicubeApiClientRuby::SaveFileRecordingDTO`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
545
|
+
end
|
546
|
+
h[k.to_sym] = v
|
547
|
+
}
|
548
|
+
|
549
|
+
if attributes.key?(:'isrc')
|
550
|
+
self.isrc = attributes[:'isrc']
|
551
|
+
end
|
552
|
+
|
553
|
+
if attributes.key?(:'name')
|
554
|
+
self.name = attributes[:'name']
|
555
|
+
end
|
556
|
+
|
557
|
+
if attributes.key?(:'folder')
|
558
|
+
self.folder = attributes[:'folder']
|
559
|
+
end
|
560
|
+
|
561
|
+
if attributes.key?(:'primary_mood_cluster_affinity')
|
562
|
+
self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
|
563
|
+
end
|
564
|
+
|
565
|
+
if attributes.key?(:'primary_mood_cluster')
|
566
|
+
self.primary_mood_cluster = attributes[:'primary_mood_cluster']
|
567
|
+
end
|
568
|
+
|
569
|
+
if attributes.key?(:'secondary_mood_cluster_affinity')
|
570
|
+
self.secondary_mood_cluster_affinity = attributes[:'secondary_mood_cluster_affinity']
|
571
|
+
end
|
572
|
+
|
573
|
+
if attributes.key?(:'secondary_mood_cluster')
|
574
|
+
self.secondary_mood_cluster = attributes[:'secondary_mood_cluster']
|
575
|
+
end
|
576
|
+
|
577
|
+
if attributes.key?(:'tertiary_mood_cluster_affinity')
|
578
|
+
self.tertiary_mood_cluster_affinity = attributes[:'tertiary_mood_cluster_affinity']
|
579
|
+
end
|
580
|
+
|
581
|
+
if attributes.key?(:'tertiary_mood_cluster')
|
582
|
+
self.tertiary_mood_cluster = attributes[:'tertiary_mood_cluster']
|
583
|
+
end
|
584
|
+
|
585
|
+
if attributes.key?(:'valence_affinity')
|
586
|
+
self.valence_affinity = attributes[:'valence_affinity']
|
587
|
+
end
|
588
|
+
|
589
|
+
if attributes.key?(:'arousal_affinity')
|
590
|
+
self.arousal_affinity = attributes[:'arousal_affinity']
|
591
|
+
end
|
592
|
+
|
593
|
+
if attributes.key?(:'pleasantness_affinity')
|
594
|
+
self.pleasantness_affinity = attributes[:'pleasantness_affinity']
|
595
|
+
end
|
596
|
+
|
597
|
+
if attributes.key?(:'engagement_affinity')
|
598
|
+
self.engagement_affinity = attributes[:'engagement_affinity']
|
599
|
+
end
|
600
|
+
|
601
|
+
if attributes.key?(:'valence')
|
602
|
+
self.valence = attributes[:'valence']
|
603
|
+
end
|
604
|
+
|
605
|
+
if attributes.key?(:'arousal')
|
606
|
+
self.arousal = attributes[:'arousal']
|
607
|
+
end
|
608
|
+
|
609
|
+
if attributes.key?(:'pleasantness')
|
610
|
+
self.pleasantness = attributes[:'pleasantness']
|
611
|
+
end
|
612
|
+
|
613
|
+
if attributes.key?(:'engagement')
|
614
|
+
self.engagement = attributes[:'engagement']
|
615
|
+
end
|
616
|
+
|
617
|
+
if attributes.key?(:'vocals')
|
618
|
+
self.vocals = attributes[:'vocals']
|
619
|
+
end
|
620
|
+
|
621
|
+
if attributes.key?(:'vocals_affinity')
|
622
|
+
self.vocals_affinity = attributes[:'vocals_affinity']
|
623
|
+
end
|
624
|
+
|
625
|
+
if attributes.key?(:'dominant_instrument')
|
626
|
+
self.dominant_instrument = attributes[:'dominant_instrument']
|
627
|
+
end
|
628
|
+
|
629
|
+
if attributes.key?(:'dominant_instrument_affinity')
|
630
|
+
self.dominant_instrument_affinity = attributes[:'dominant_instrument_affinity']
|
631
|
+
end
|
632
|
+
|
633
|
+
if attributes.key?(:'secondary_instrument_affinity')
|
634
|
+
self.secondary_instrument_affinity = attributes[:'secondary_instrument_affinity']
|
635
|
+
end
|
636
|
+
|
637
|
+
if attributes.key?(:'secondary_instrument')
|
638
|
+
self.secondary_instrument = attributes[:'secondary_instrument']
|
639
|
+
end
|
640
|
+
|
641
|
+
if attributes.key?(:'tertiary_instrument_affinity')
|
642
|
+
self.tertiary_instrument_affinity = attributes[:'tertiary_instrument_affinity']
|
643
|
+
end
|
644
|
+
|
645
|
+
if attributes.key?(:'tertiary_instrument')
|
646
|
+
self.tertiary_instrument = attributes[:'tertiary_instrument']
|
647
|
+
end
|
648
|
+
|
649
|
+
if attributes.key?(:'energy')
|
650
|
+
self.energy = attributes[:'energy']
|
651
|
+
end
|
652
|
+
|
653
|
+
if attributes.key?(:'energy_affinity')
|
654
|
+
self.energy_affinity = attributes[:'energy_affinity']
|
655
|
+
end
|
656
|
+
|
657
|
+
if attributes.key?(:'sound_generation')
|
658
|
+
self.sound_generation = attributes[:'sound_generation']
|
659
|
+
end
|
660
|
+
|
661
|
+
if attributes.key?(:'sound_generation_affinity')
|
662
|
+
self.sound_generation_affinity = attributes[:'sound_generation_affinity']
|
663
|
+
end
|
664
|
+
|
665
|
+
if attributes.key?(:'tempo')
|
666
|
+
self.tempo = attributes[:'tempo']
|
667
|
+
end
|
668
|
+
|
669
|
+
if attributes.key?(:'tempo_affinity')
|
670
|
+
self.tempo_affinity = attributes[:'tempo_affinity']
|
671
|
+
end
|
672
|
+
|
673
|
+
if attributes.key?(:'scale')
|
674
|
+
self.scale = attributes[:'scale']
|
675
|
+
end
|
676
|
+
|
677
|
+
if attributes.key?(:'scale_affinity')
|
678
|
+
self.scale_affinity = attributes[:'scale_affinity']
|
679
|
+
end
|
680
|
+
|
681
|
+
if attributes.key?(:'rhythm')
|
682
|
+
self.rhythm = attributes[:'rhythm']
|
683
|
+
end
|
684
|
+
|
685
|
+
if attributes.key?(:'rhythm_affinity')
|
686
|
+
self.rhythm_affinity = attributes[:'rhythm_affinity']
|
687
|
+
end
|
688
|
+
|
689
|
+
if attributes.key?(:'primary_sound_character')
|
690
|
+
self.primary_sound_character = attributes[:'primary_sound_character']
|
691
|
+
end
|
692
|
+
|
693
|
+
if attributes.key?(:'primary_sound_character_affinity')
|
694
|
+
self.primary_sound_character_affinity = attributes[:'primary_sound_character_affinity']
|
695
|
+
end
|
696
|
+
|
697
|
+
if attributes.key?(:'timbre_affinity')
|
698
|
+
self.timbre_affinity = attributes[:'timbre_affinity']
|
699
|
+
end
|
700
|
+
|
701
|
+
if attributes.key?(:'roughness_affinity')
|
702
|
+
self.roughness_affinity = attributes[:'roughness_affinity']
|
703
|
+
end
|
704
|
+
|
705
|
+
if attributes.key?(:'tonality_affinity')
|
706
|
+
self.tonality_affinity = attributes[:'tonality_affinity']
|
707
|
+
end
|
708
|
+
|
709
|
+
if attributes.key?(:'harmony_affinity')
|
710
|
+
self.harmony_affinity = attributes[:'harmony_affinity']
|
711
|
+
end
|
712
|
+
|
713
|
+
if attributes.key?(:'texture_affinity')
|
714
|
+
self.texture_affinity = attributes[:'texture_affinity']
|
715
|
+
end
|
716
|
+
|
717
|
+
if attributes.key?(:'groovyness_affinity')
|
718
|
+
self.groovyness_affinity = attributes[:'groovyness_affinity']
|
719
|
+
end
|
720
|
+
|
721
|
+
if attributes.key?(:'space_affinity')
|
722
|
+
self.space_affinity = attributes[:'space_affinity']
|
723
|
+
end
|
724
|
+
|
725
|
+
if attributes.key?(:'timbre')
|
726
|
+
self.timbre = attributes[:'timbre']
|
727
|
+
end
|
728
|
+
|
729
|
+
if attributes.key?(:'roughness')
|
730
|
+
self.roughness = attributes[:'roughness']
|
731
|
+
end
|
732
|
+
|
733
|
+
if attributes.key?(:'tonality')
|
734
|
+
self.tonality = attributes[:'tonality']
|
735
|
+
end
|
736
|
+
|
737
|
+
if attributes.key?(:'harmony')
|
738
|
+
self.harmony = attributes[:'harmony']
|
739
|
+
end
|
740
|
+
|
741
|
+
if attributes.key?(:'texture')
|
742
|
+
self.texture = attributes[:'texture']
|
743
|
+
end
|
744
|
+
|
745
|
+
if attributes.key?(:'groovyness')
|
746
|
+
self.groovyness = attributes[:'groovyness']
|
747
|
+
end
|
748
|
+
|
749
|
+
if attributes.key?(:'space')
|
750
|
+
self.space = attributes[:'space']
|
751
|
+
end
|
752
|
+
|
753
|
+
if attributes.key?(:'bpm')
|
754
|
+
self.bpm = attributes[:'bpm']
|
755
|
+
end
|
756
|
+
|
757
|
+
if attributes.key?(:'key')
|
758
|
+
self.key = attributes[:'key']
|
759
|
+
end
|
760
|
+
|
761
|
+
if attributes.key?(:'key_affinity')
|
762
|
+
self.key_affinity = attributes[:'key_affinity']
|
763
|
+
end
|
764
|
+
|
765
|
+
if attributes.key?(:'production_rating')
|
766
|
+
self.production_rating = attributes[:'production_rating']
|
767
|
+
end
|
768
|
+
|
769
|
+
if attributes.key?(:'production_rating_affinity')
|
770
|
+
self.production_rating_affinity = attributes[:'production_rating_affinity']
|
771
|
+
end
|
772
|
+
|
773
|
+
if attributes.key?(:'performance_rating')
|
774
|
+
self.performance_rating = attributes[:'performance_rating']
|
775
|
+
end
|
776
|
+
|
777
|
+
if attributes.key?(:'performance_rating_affinity')
|
778
|
+
self.performance_rating_affinity = attributes[:'performance_rating_affinity']
|
779
|
+
end
|
780
|
+
|
781
|
+
if attributes.key?(:'song_rating')
|
782
|
+
self.song_rating = attributes[:'song_rating']
|
783
|
+
end
|
784
|
+
|
785
|
+
if attributes.key?(:'song_rating_affinity')
|
786
|
+
self.song_rating_affinity = attributes[:'song_rating_affinity']
|
787
|
+
end
|
788
|
+
|
789
|
+
if attributes.key?(:'audience_gender')
|
790
|
+
self.audience_gender = attributes[:'audience_gender']
|
791
|
+
end
|
792
|
+
|
793
|
+
if attributes.key?(:'audience_gender_affinity')
|
794
|
+
self.audience_gender_affinity = attributes[:'audience_gender_affinity']
|
795
|
+
end
|
796
|
+
|
797
|
+
if attributes.key?(:'audience_region')
|
798
|
+
self.audience_region = attributes[:'audience_region']
|
799
|
+
end
|
800
|
+
|
801
|
+
if attributes.key?(:'audience_region_affinity')
|
802
|
+
self.audience_region_affinity = attributes[:'audience_region_affinity']
|
803
|
+
end
|
804
|
+
|
805
|
+
if attributes.key?(:'secondary_audience_region_affinity')
|
806
|
+
self.secondary_audience_region_affinity = attributes[:'secondary_audience_region_affinity']
|
807
|
+
end
|
808
|
+
|
809
|
+
if attributes.key?(:'secondary_audience_region')
|
810
|
+
self.secondary_audience_region = attributes[:'secondary_audience_region']
|
811
|
+
end
|
812
|
+
|
813
|
+
if attributes.key?(:'tertiary_audience_region_affinity')
|
814
|
+
self.tertiary_audience_region_affinity = attributes[:'tertiary_audience_region_affinity']
|
815
|
+
end
|
816
|
+
|
817
|
+
if attributes.key?(:'tertiary_audience_region')
|
818
|
+
self.tertiary_audience_region = attributes[:'tertiary_audience_region']
|
819
|
+
end
|
820
|
+
|
821
|
+
if attributes.key?(:'audience_age')
|
822
|
+
self.audience_age = attributes[:'audience_age']
|
823
|
+
end
|
824
|
+
|
825
|
+
if attributes.key?(:'audience_age_affinity')
|
826
|
+
self.audience_age_affinity = attributes[:'audience_age_affinity']
|
827
|
+
end
|
828
|
+
|
829
|
+
if attributes.key?(:'secondary_audience_age')
|
830
|
+
self.secondary_audience_age = attributes[:'secondary_audience_age']
|
831
|
+
end
|
832
|
+
|
833
|
+
if attributes.key?(:'secondary_audience_age_affinity')
|
834
|
+
self.secondary_audience_age_affinity = attributes[:'secondary_audience_age_affinity']
|
835
|
+
end
|
836
|
+
|
837
|
+
if attributes.key?(:'tertiary_audience_age')
|
838
|
+
self.tertiary_audience_age = attributes[:'tertiary_audience_age']
|
839
|
+
end
|
840
|
+
|
841
|
+
if attributes.key?(:'tertiary_audience_age_affinity')
|
842
|
+
self.tertiary_audience_age_affinity = attributes[:'tertiary_audience_age_affinity']
|
843
|
+
end
|
844
|
+
|
845
|
+
if attributes.key?(:'origin_decade')
|
846
|
+
self.origin_decade = attributes[:'origin_decade']
|
847
|
+
end
|
848
|
+
|
849
|
+
if attributes.key?(:'origin_decade_affinity')
|
850
|
+
self.origin_decade_affinity = attributes[:'origin_decade_affinity']
|
851
|
+
end
|
852
|
+
|
853
|
+
if attributes.key?(:'language_of_performance')
|
854
|
+
self.language_of_performance = attributes[:'language_of_performance']
|
855
|
+
end
|
856
|
+
|
857
|
+
if attributes.key?(:'language_of_performance_affinity')
|
858
|
+
self.language_of_performance_affinity = attributes[:'language_of_performance_affinity']
|
859
|
+
end
|
860
|
+
|
861
|
+
if attributes.key?(:'origin_region')
|
862
|
+
self.origin_region = attributes[:'origin_region']
|
863
|
+
end
|
864
|
+
|
865
|
+
if attributes.key?(:'origin_region_affinity')
|
866
|
+
self.origin_region_affinity = attributes[:'origin_region_affinity']
|
867
|
+
end
|
868
|
+
|
869
|
+
if attributes.key?(:'taggrams')
|
870
|
+
self.taggrams = attributes[:'taggrams']
|
871
|
+
end
|
872
|
+
|
873
|
+
if attributes.key?(:'embeddings')
|
874
|
+
if (value = attributes[:'embeddings']).is_a?(Array)
|
875
|
+
self.embeddings = value
|
876
|
+
end
|
877
|
+
end
|
878
|
+
|
879
|
+
if attributes.key?(:'level1_genre')
|
880
|
+
self.level1_genre = attributes[:'level1_genre']
|
881
|
+
end
|
882
|
+
|
883
|
+
if attributes.key?(:'level1_genre_affinity')
|
884
|
+
self.level1_genre_affinity = attributes[:'level1_genre_affinity']
|
885
|
+
end
|
886
|
+
|
887
|
+
if attributes.key?(:'secondary_level1_genre')
|
888
|
+
self.secondary_level1_genre = attributes[:'secondary_level1_genre']
|
889
|
+
end
|
890
|
+
|
891
|
+
if attributes.key?(:'secondary_level1_genre_affinity')
|
892
|
+
self.secondary_level1_genre_affinity = attributes[:'secondary_level1_genre_affinity']
|
893
|
+
end
|
894
|
+
|
895
|
+
if attributes.key?(:'tertiary_level1_genre')
|
896
|
+
self.tertiary_level1_genre = attributes[:'tertiary_level1_genre']
|
897
|
+
end
|
898
|
+
|
899
|
+
if attributes.key?(:'tertiary_level1_genre_affinity')
|
900
|
+
self.tertiary_level1_genre_affinity = attributes[:'tertiary_level1_genre_affinity']
|
901
|
+
end
|
902
|
+
|
903
|
+
if attributes.key?(:'level2_genre')
|
904
|
+
self.level2_genre = attributes[:'level2_genre']
|
905
|
+
end
|
906
|
+
|
907
|
+
if attributes.key?(:'level2_genre_affinity')
|
908
|
+
self.level2_genre_affinity = attributes[:'level2_genre_affinity']
|
909
|
+
end
|
910
|
+
|
911
|
+
if attributes.key?(:'secondary_level2_genre')
|
912
|
+
self.secondary_level2_genre = attributes[:'secondary_level2_genre']
|
913
|
+
end
|
914
|
+
|
915
|
+
if attributes.key?(:'secondary_level2_genre_affinity')
|
916
|
+
self.secondary_level2_genre_affinity = attributes[:'secondary_level2_genre_affinity']
|
917
|
+
end
|
918
|
+
|
919
|
+
if attributes.key?(:'tertiary_level2_genre')
|
920
|
+
self.tertiary_level2_genre = attributes[:'tertiary_level2_genre']
|
921
|
+
end
|
922
|
+
|
923
|
+
if attributes.key?(:'tertiary_level2_genre_affinity')
|
924
|
+
self.tertiary_level2_genre_affinity = attributes[:'tertiary_level2_genre_affinity']
|
925
|
+
end
|
926
|
+
|
927
|
+
if attributes.key?(:'curateability')
|
928
|
+
self.curateability = attributes[:'curateability']
|
929
|
+
end
|
930
|
+
|
931
|
+
if attributes.key?(:'curateability_affinity')
|
932
|
+
self.curateability_affinity = attributes[:'curateability_affinity']
|
933
|
+
end
|
934
|
+
|
935
|
+
if attributes.key?(:'use_case')
|
936
|
+
self.use_case = attributes[:'use_case']
|
937
|
+
end
|
938
|
+
|
939
|
+
if attributes.key?(:'use_case_affinity')
|
940
|
+
self.use_case_affinity = attributes[:'use_case_affinity']
|
941
|
+
end
|
942
|
+
|
943
|
+
if attributes.key?(:'social_media')
|
944
|
+
self.social_media = attributes[:'social_media']
|
945
|
+
end
|
946
|
+
|
947
|
+
if attributes.key?(:'social_media_affinity')
|
948
|
+
self.social_media_affinity = attributes[:'social_media_affinity']
|
949
|
+
end
|
950
|
+
|
951
|
+
if attributes.key?(:'industry_suitability')
|
952
|
+
self.industry_suitability = attributes[:'industry_suitability']
|
953
|
+
end
|
954
|
+
|
955
|
+
if attributes.key?(:'industry_suitability_affinity')
|
956
|
+
self.industry_suitability_affinity = attributes[:'industry_suitability_affinity']
|
957
|
+
end
|
958
|
+
|
959
|
+
if attributes.key?(:'created_by_version')
|
960
|
+
self.created_by_version = attributes[:'created_by_version']
|
961
|
+
end
|
962
|
+
|
963
|
+
if attributes.key?(:'tags')
|
964
|
+
if (value = attributes[:'tags']).is_a?(Array)
|
965
|
+
self.tags = value
|
966
|
+
end
|
967
|
+
end
|
968
|
+
|
969
|
+
if attributes.key?(:'genres')
|
970
|
+
if (value = attributes[:'genres']).is_a?(Array)
|
971
|
+
self.genres = value
|
972
|
+
end
|
973
|
+
end
|
974
|
+
|
975
|
+
if attributes.key?(:'parties')
|
976
|
+
if (value = attributes[:'parties']).is_a?(Array)
|
977
|
+
self.parties = value
|
978
|
+
end
|
979
|
+
end
|
980
|
+
|
981
|
+
if attributes.key?(:'iswc')
|
982
|
+
self.iswc = attributes[:'iswc']
|
983
|
+
end
|
984
|
+
|
985
|
+
if attributes.key?(:'proprietary_id_gema')
|
986
|
+
self.proprietary_id_gema = attributes[:'proprietary_id_gema']
|
987
|
+
end
|
988
|
+
|
989
|
+
if attributes.key?(:'title')
|
990
|
+
self.title = attributes[:'title']
|
991
|
+
end
|
992
|
+
|
993
|
+
if attributes.key?(:'version_title')
|
994
|
+
self.version_title = attributes[:'version_title']
|
995
|
+
end
|
996
|
+
end
|
997
|
+
|
998
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
999
|
+
# @return Array for valid properties with the reasons
|
1000
|
+
def list_invalid_properties
|
1001
|
+
invalid_properties = Array.new
|
1002
|
+
if @isrc.nil?
|
1003
|
+
invalid_properties.push('invalid value for "isrc", isrc cannot be nil.')
|
1004
|
+
end
|
1005
|
+
|
1006
|
+
if @created_by_version.nil?
|
1007
|
+
invalid_properties.push('invalid value for "created_by_version", created_by_version cannot be nil.')
|
1008
|
+
end
|
1009
|
+
|
1010
|
+
invalid_properties
|
1011
|
+
end
|
1012
|
+
|
1013
|
+
# Check to see if the all the properties in the model are valid
|
1014
|
+
# @return true if the model is valid
|
1015
|
+
def valid?
|
1016
|
+
return false if @isrc.nil?
|
1017
|
+
primary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
|
1018
|
+
return false unless primary_mood_cluster_validator.valid?(@primary_mood_cluster)
|
1019
|
+
secondary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
|
1020
|
+
return false unless secondary_mood_cluster_validator.valid?(@secondary_mood_cluster)
|
1021
|
+
tertiary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
|
1022
|
+
return false unless tertiary_mood_cluster_validator.valid?(@tertiary_mood_cluster)
|
1023
|
+
valence_validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
|
1024
|
+
return false unless valence_validator.valid?(@valence)
|
1025
|
+
arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
|
1026
|
+
return false unless arousal_validator.valid?(@arousal)
|
1027
|
+
pleasantness_validator = EnumAttributeValidator.new('String', ["very unpleasant", "unpleasant", "neutral pleasantness", "pleasant", "very pleasant", "varying pleasantness"])
|
1028
|
+
return false unless pleasantness_validator.valid?(@pleasantness)
|
1029
|
+
engagement_validator = EnumAttributeValidator.new('String', ["very unengaging", "unengaging", "neutral engagement", "engaging", "very engaging", "varying engagement"])
|
1030
|
+
return false unless engagement_validator.valid?(@engagement)
|
1031
|
+
vocals_validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
|
1032
|
+
return false unless vocals_validator.valid?(@vocals)
|
1033
|
+
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"])
|
1034
|
+
return false unless dominant_instrument_validator.valid?(@dominant_instrument)
|
1035
|
+
secondary_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"])
|
1036
|
+
return false unless secondary_instrument_validator.valid?(@secondary_instrument)
|
1037
|
+
tertiary_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"])
|
1038
|
+
return false unless tertiary_instrument_validator.valid?(@tertiary_instrument)
|
1039
|
+
energy_validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
|
1040
|
+
return false unless energy_validator.valid?(@energy)
|
1041
|
+
sound_generation_validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
|
1042
|
+
return false unless sound_generation_validator.valid?(@sound_generation)
|
1043
|
+
tempo_validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
|
1044
|
+
return false unless tempo_validator.valid?(@tempo)
|
1045
|
+
scale_validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
|
1046
|
+
return false unless scale_validator.valid?(@scale)
|
1047
|
+
rhythm_validator = EnumAttributeValidator.new('String', ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"])
|
1048
|
+
return false unless rhythm_validator.valid?(@rhythm)
|
1049
|
+
primary_sound_character_validator = EnumAttributeValidator.new('String', ["brassy", "bright", "clear", "deep", "distorted", "flat", "full", "groovy", "melodious", "natural", "resonant", "shrill", "steady", "thin", "warm"])
|
1050
|
+
return false unless primary_sound_character_validator.valid?(@primary_sound_character)
|
1051
|
+
timbre_validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
|
1052
|
+
return false unless timbre_validator.valid?(@timbre)
|
1053
|
+
roughness_validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
|
1054
|
+
return false unless roughness_validator.valid?(@roughness)
|
1055
|
+
tonality_validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
|
1056
|
+
return false unless tonality_validator.valid?(@tonality)
|
1057
|
+
harmony_validator = EnumAttributeValidator.new('String', ["very dissonant", "dissonant", "moderate harmonies", "harmonious", "very harmonious"])
|
1058
|
+
return false unless harmony_validator.valid?(@harmony)
|
1059
|
+
texture_validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
|
1060
|
+
return false unless texture_validator.valid?(@texture)
|
1061
|
+
groovyness_validator = EnumAttributeValidator.new('String', ["very steady", "steady", "moderate rhythm feel", "groovy", "very groovy"])
|
1062
|
+
return false unless groovyness_validator.valid?(@groovyness)
|
1063
|
+
space_validator = EnumAttributeValidator.new('String', ["very compact", "compact", "moderate space", "wide", "very wide"])
|
1064
|
+
return false unless space_validator.valid?(@space)
|
1065
|
+
key_validator = EnumAttributeValidator.new('String', ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "unclear"])
|
1066
|
+
return false unless key_validator.valid?(@key)
|
1067
|
+
production_rating_validator = EnumAttributeValidator.new('String', ["low production quality", "medium production quality", "high production quality"])
|
1068
|
+
return false unless production_rating_validator.valid?(@production_rating)
|
1069
|
+
performance_rating_validator = EnumAttributeValidator.new('String', ["low performance quality", "medium performance quality", "high performance quality"])
|
1070
|
+
return false unless performance_rating_validator.valid?(@performance_rating)
|
1071
|
+
song_rating_validator = EnumAttributeValidator.new('String', ["low song quality", "medium song quality", "high song quality"])
|
1072
|
+
return false unless song_rating_validator.valid?(@song_rating)
|
1073
|
+
audience_gender_validator = EnumAttributeValidator.new('String', ["male", "female"])
|
1074
|
+
return false unless audience_gender_validator.valid?(@audience_gender)
|
1075
|
+
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"])
|
1076
|
+
return false unless audience_region_validator.valid?(@audience_region)
|
1077
|
+
secondary_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"])
|
1078
|
+
return false unless secondary_audience_region_validator.valid?(@secondary_audience_region)
|
1079
|
+
tertiary_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"])
|
1080
|
+
return false unless tertiary_audience_region_validator.valid?(@tertiary_audience_region)
|
1081
|
+
audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
|
1082
|
+
return false unless audience_age_validator.valid?(@audience_age)
|
1083
|
+
secondary_audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
|
1084
|
+
return false unless secondary_audience_age_validator.valid?(@secondary_audience_age)
|
1085
|
+
tertiary_audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
|
1086
|
+
return false unless tertiary_audience_age_validator.valid?(@tertiary_audience_age)
|
1087
|
+
origin_decade_validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
|
1088
|
+
return false unless origin_decade_validator.valid?(@origin_decade)
|
1089
|
+
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"])
|
1090
|
+
return false unless language_of_performance_validator.valid?(@language_of_performance)
|
1091
|
+
origin_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"])
|
1092
|
+
return false unless origin_region_validator.valid?(@origin_region)
|
1093
|
+
level1_genre_validator = EnumAttributeValidator.new('String', ["Pop", "Rock", "Metal", "Jazz", "World", "Country", "Functional Music", "Classical", "Alternative", "R&B", "Blues", "Hip Hop", "Reggae", "Electronic", "Spoken Word", "Folk"])
|
1094
|
+
return false unless level1_genre_validator.valid?(@level1_genre)
|
1095
|
+
secondary_level1_genre_validator = EnumAttributeValidator.new('String', ["Pop", "Rock", "Metal", "Jazz", "World", "Country", "Functional Music", "Classical", "Alternative", "R&B", "Blues", "Hip Hop", "Reggae", "Electronic", "Spoken Word", "Folk"])
|
1096
|
+
return false unless secondary_level1_genre_validator.valid?(@secondary_level1_genre)
|
1097
|
+
tertiary_level1_genre_validator = EnumAttributeValidator.new('String', ["Pop", "Rock", "Metal", "Jazz", "World", "Country", "Functional Music", "Classical", "Alternative", "R&B", "Blues", "Hip Hop", "Reggae", "Electronic", "Spoken Word", "Folk"])
|
1098
|
+
return false unless tertiary_level1_genre_validator.valid?(@tertiary_level1_genre)
|
1099
|
+
level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Neo Soul", "Early Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Jump Up", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Ambient House / Chill-Out", "Chemical Breaks & Big Beat", "Chicago House & Garage House", "Chicago Soul & Detroit Soul", "Comedy", "Dark Wave", "Dreampop & Shoegaze", "Electro House & Dutch House", "French House & Funky House", "Golden Age Rad & Hardcore Rap", "Hard Step & Tech Step", "Indietronica & Chillwave", "Nu Disco & Funktronica", "Doom Metal", "Mathcore", "Psy Trance", "Roots Rock"])
|
1100
|
+
return false unless level2_genre_validator.valid?(@level2_genre)
|
1101
|
+
secondary_level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Neo Soul", "Early Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Jump Up", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Ambient House / Chill-Out", "Chemical Breaks & Big Beat", "Chicago House & Garage House", "Chicago Soul & Detroit Soul", "Comedy", "Dark Wave", "Dreampop & Shoegaze", "Electro House & Dutch House", "French House & Funky House", "Golden Age Rad & Hardcore Rap", "Hard Step & Tech Step", "Indietronica & Chillwave", "Nu Disco & Funktronica", "Doom Metal", "Mathcore", "Psy Trance", "Roots Rock"])
|
1102
|
+
return false unless secondary_level2_genre_validator.valid?(@secondary_level2_genre)
|
1103
|
+
tertiary_level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Neo Soul", "Early Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Jump Up", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Ambient House / Chill-Out", "Chemical Breaks & Big Beat", "Chicago House & Garage House", "Chicago Soul & Detroit Soul", "Comedy", "Dark Wave", "Dreampop & Shoegaze", "Electro House & Dutch House", "French House & Funky House", "Golden Age Rad & Hardcore Rap", "Hard Step & Tech Step", "Indietronica & Chillwave", "Nu Disco & Funktronica", "Doom Metal", "Mathcore", "Psy Trance", "Roots Rock"])
|
1104
|
+
return false unless tertiary_level2_genre_validator.valid?(@tertiary_level2_genre)
|
1105
|
+
curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
|
1106
|
+
return false unless curateability_validator.valid?(@curateability)
|
1107
|
+
use_case_validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
|
1108
|
+
return false unless use_case_validator.valid?(@use_case)
|
1109
|
+
social_media_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
|
1110
|
+
return false unless social_media_validator.valid?(@social_media)
|
1111
|
+
industry_suitability_validator = EnumAttributeValidator.new('String', ["Automobiles and Parts", "Consumer Products and Services", "Financial Services", "Food, Beverage and Tobacco", "Health Care", "Insurance", "Media", "Politics, Government and Organizations", "Real Estate", "Retail", "Technology", "Telecommunications", "Travel and Leisure"])
|
1112
|
+
return false unless industry_suitability_validator.valid?(@industry_suitability)
|
1113
|
+
return false if @created_by_version.nil?
|
1114
|
+
true
|
1115
|
+
end
|
1116
|
+
|
1117
|
+
# Custom attribute writer method checking allowed values (enum).
|
1118
|
+
# @param [Object] primary_mood_cluster Object to be assigned
|
1119
|
+
def primary_mood_cluster=(primary_mood_cluster)
|
1120
|
+
validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
|
1121
|
+
unless validator.valid?(primary_mood_cluster)
|
1122
|
+
fail ArgumentError, "invalid value for \"primary_mood_cluster\", must be one of #{validator.allowable_values}."
|
1123
|
+
end
|
1124
|
+
@primary_mood_cluster = primary_mood_cluster
|
1125
|
+
end
|
1126
|
+
|
1127
|
+
# Custom attribute writer method checking allowed values (enum).
|
1128
|
+
# @param [Object] secondary_mood_cluster Object to be assigned
|
1129
|
+
def secondary_mood_cluster=(secondary_mood_cluster)
|
1130
|
+
validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
|
1131
|
+
unless validator.valid?(secondary_mood_cluster)
|
1132
|
+
fail ArgumentError, "invalid value for \"secondary_mood_cluster\", must be one of #{validator.allowable_values}."
|
1133
|
+
end
|
1134
|
+
@secondary_mood_cluster = secondary_mood_cluster
|
1135
|
+
end
|
1136
|
+
|
1137
|
+
# Custom attribute writer method checking allowed values (enum).
|
1138
|
+
# @param [Object] tertiary_mood_cluster Object to be assigned
|
1139
|
+
def tertiary_mood_cluster=(tertiary_mood_cluster)
|
1140
|
+
validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
|
1141
|
+
unless validator.valid?(tertiary_mood_cluster)
|
1142
|
+
fail ArgumentError, "invalid value for \"tertiary_mood_cluster\", must be one of #{validator.allowable_values}."
|
1143
|
+
end
|
1144
|
+
@tertiary_mood_cluster = tertiary_mood_cluster
|
1145
|
+
end
|
1146
|
+
|
1147
|
+
# Custom attribute writer method checking allowed values (enum).
|
1148
|
+
# @param [Object] valence Object to be assigned
|
1149
|
+
def valence=(valence)
|
1150
|
+
validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
|
1151
|
+
unless validator.valid?(valence)
|
1152
|
+
fail ArgumentError, "invalid value for \"valence\", must be one of #{validator.allowable_values}."
|
1153
|
+
end
|
1154
|
+
@valence = valence
|
1155
|
+
end
|
1156
|
+
|
1157
|
+
# Custom attribute writer method checking allowed values (enum).
|
1158
|
+
# @param [Object] arousal Object to be assigned
|
1159
|
+
def arousal=(arousal)
|
1160
|
+
validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
|
1161
|
+
unless validator.valid?(arousal)
|
1162
|
+
fail ArgumentError, "invalid value for \"arousal\", must be one of #{validator.allowable_values}."
|
1163
|
+
end
|
1164
|
+
@arousal = arousal
|
1165
|
+
end
|
1166
|
+
|
1167
|
+
# Custom attribute writer method checking allowed values (enum).
|
1168
|
+
# @param [Object] pleasantness Object to be assigned
|
1169
|
+
def pleasantness=(pleasantness)
|
1170
|
+
validator = EnumAttributeValidator.new('String', ["very unpleasant", "unpleasant", "neutral pleasantness", "pleasant", "very pleasant", "varying pleasantness"])
|
1171
|
+
unless validator.valid?(pleasantness)
|
1172
|
+
fail ArgumentError, "invalid value for \"pleasantness\", must be one of #{validator.allowable_values}."
|
1173
|
+
end
|
1174
|
+
@pleasantness = pleasantness
|
1175
|
+
end
|
1176
|
+
|
1177
|
+
# Custom attribute writer method checking allowed values (enum).
|
1178
|
+
# @param [Object] engagement Object to be assigned
|
1179
|
+
def engagement=(engagement)
|
1180
|
+
validator = EnumAttributeValidator.new('String', ["very unengaging", "unengaging", "neutral engagement", "engaging", "very engaging", "varying engagement"])
|
1181
|
+
unless validator.valid?(engagement)
|
1182
|
+
fail ArgumentError, "invalid value for \"engagement\", must be one of #{validator.allowable_values}."
|
1183
|
+
end
|
1184
|
+
@engagement = engagement
|
1185
|
+
end
|
1186
|
+
|
1187
|
+
# Custom attribute writer method checking allowed values (enum).
|
1188
|
+
# @param [Object] vocals Object to be assigned
|
1189
|
+
def vocals=(vocals)
|
1190
|
+
validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
|
1191
|
+
unless validator.valid?(vocals)
|
1192
|
+
fail ArgumentError, "invalid value for \"vocals\", must be one of #{validator.allowable_values}."
|
1193
|
+
end
|
1194
|
+
@vocals = vocals
|
1195
|
+
end
|
1196
|
+
|
1197
|
+
# Custom attribute writer method checking allowed values (enum).
|
1198
|
+
# @param [Object] dominant_instrument Object to be assigned
|
1199
|
+
def dominant_instrument=(dominant_instrument)
|
1200
|
+
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"])
|
1201
|
+
unless validator.valid?(dominant_instrument)
|
1202
|
+
fail ArgumentError, "invalid value for \"dominant_instrument\", must be one of #{validator.allowable_values}."
|
1203
|
+
end
|
1204
|
+
@dominant_instrument = dominant_instrument
|
1205
|
+
end
|
1206
|
+
|
1207
|
+
# Custom attribute writer method checking allowed values (enum).
|
1208
|
+
# @param [Object] secondary_instrument Object to be assigned
|
1209
|
+
def secondary_instrument=(secondary_instrument)
|
1210
|
+
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"])
|
1211
|
+
unless validator.valid?(secondary_instrument)
|
1212
|
+
fail ArgumentError, "invalid value for \"secondary_instrument\", must be one of #{validator.allowable_values}."
|
1213
|
+
end
|
1214
|
+
@secondary_instrument = secondary_instrument
|
1215
|
+
end
|
1216
|
+
|
1217
|
+
# Custom attribute writer method checking allowed values (enum).
|
1218
|
+
# @param [Object] tertiary_instrument Object to be assigned
|
1219
|
+
def tertiary_instrument=(tertiary_instrument)
|
1220
|
+
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"])
|
1221
|
+
unless validator.valid?(tertiary_instrument)
|
1222
|
+
fail ArgumentError, "invalid value for \"tertiary_instrument\", must be one of #{validator.allowable_values}."
|
1223
|
+
end
|
1224
|
+
@tertiary_instrument = tertiary_instrument
|
1225
|
+
end
|
1226
|
+
|
1227
|
+
# Custom attribute writer method checking allowed values (enum).
|
1228
|
+
# @param [Object] energy Object to be assigned
|
1229
|
+
def energy=(energy)
|
1230
|
+
validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
|
1231
|
+
unless validator.valid?(energy)
|
1232
|
+
fail ArgumentError, "invalid value for \"energy\", must be one of #{validator.allowable_values}."
|
1233
|
+
end
|
1234
|
+
@energy = energy
|
1235
|
+
end
|
1236
|
+
|
1237
|
+
# Custom attribute writer method checking allowed values (enum).
|
1238
|
+
# @param [Object] sound_generation Object to be assigned
|
1239
|
+
def sound_generation=(sound_generation)
|
1240
|
+
validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
|
1241
|
+
unless validator.valid?(sound_generation)
|
1242
|
+
fail ArgumentError, "invalid value for \"sound_generation\", must be one of #{validator.allowable_values}."
|
1243
|
+
end
|
1244
|
+
@sound_generation = sound_generation
|
1245
|
+
end
|
1246
|
+
|
1247
|
+
# Custom attribute writer method checking allowed values (enum).
|
1248
|
+
# @param [Object] tempo Object to be assigned
|
1249
|
+
def tempo=(tempo)
|
1250
|
+
validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
|
1251
|
+
unless validator.valid?(tempo)
|
1252
|
+
fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
|
1253
|
+
end
|
1254
|
+
@tempo = tempo
|
1255
|
+
end
|
1256
|
+
|
1257
|
+
# Custom attribute writer method checking allowed values (enum).
|
1258
|
+
# @param [Object] scale Object to be assigned
|
1259
|
+
def scale=(scale)
|
1260
|
+
validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
|
1261
|
+
unless validator.valid?(scale)
|
1262
|
+
fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
|
1263
|
+
end
|
1264
|
+
@scale = scale
|
1265
|
+
end
|
1266
|
+
|
1267
|
+
# Custom attribute writer method checking allowed values (enum).
|
1268
|
+
# @param [Object] rhythm Object to be assigned
|
1269
|
+
def rhythm=(rhythm)
|
1270
|
+
validator = EnumAttributeValidator.new('String', ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"])
|
1271
|
+
unless validator.valid?(rhythm)
|
1272
|
+
fail ArgumentError, "invalid value for \"rhythm\", must be one of #{validator.allowable_values}."
|
1273
|
+
end
|
1274
|
+
@rhythm = rhythm
|
1275
|
+
end
|
1276
|
+
|
1277
|
+
# Custom attribute writer method checking allowed values (enum).
|
1278
|
+
# @param [Object] primary_sound_character Object to be assigned
|
1279
|
+
def primary_sound_character=(primary_sound_character)
|
1280
|
+
validator = EnumAttributeValidator.new('String', ["brassy", "bright", "clear", "deep", "distorted", "flat", "full", "groovy", "melodious", "natural", "resonant", "shrill", "steady", "thin", "warm"])
|
1281
|
+
unless validator.valid?(primary_sound_character)
|
1282
|
+
fail ArgumentError, "invalid value for \"primary_sound_character\", must be one of #{validator.allowable_values}."
|
1283
|
+
end
|
1284
|
+
@primary_sound_character = primary_sound_character
|
1285
|
+
end
|
1286
|
+
|
1287
|
+
# Custom attribute writer method checking allowed values (enum).
|
1288
|
+
# @param [Object] timbre Object to be assigned
|
1289
|
+
def timbre=(timbre)
|
1290
|
+
validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
|
1291
|
+
unless validator.valid?(timbre)
|
1292
|
+
fail ArgumentError, "invalid value for \"timbre\", must be one of #{validator.allowable_values}."
|
1293
|
+
end
|
1294
|
+
@timbre = timbre
|
1295
|
+
end
|
1296
|
+
|
1297
|
+
# Custom attribute writer method checking allowed values (enum).
|
1298
|
+
# @param [Object] roughness Object to be assigned
|
1299
|
+
def roughness=(roughness)
|
1300
|
+
validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
|
1301
|
+
unless validator.valid?(roughness)
|
1302
|
+
fail ArgumentError, "invalid value for \"roughness\", must be one of #{validator.allowable_values}."
|
1303
|
+
end
|
1304
|
+
@roughness = roughness
|
1305
|
+
end
|
1306
|
+
|
1307
|
+
# Custom attribute writer method checking allowed values (enum).
|
1308
|
+
# @param [Object] tonality Object to be assigned
|
1309
|
+
def tonality=(tonality)
|
1310
|
+
validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
|
1311
|
+
unless validator.valid?(tonality)
|
1312
|
+
fail ArgumentError, "invalid value for \"tonality\", must be one of #{validator.allowable_values}."
|
1313
|
+
end
|
1314
|
+
@tonality = tonality
|
1315
|
+
end
|
1316
|
+
|
1317
|
+
# Custom attribute writer method checking allowed values (enum).
|
1318
|
+
# @param [Object] harmony Object to be assigned
|
1319
|
+
def harmony=(harmony)
|
1320
|
+
validator = EnumAttributeValidator.new('String', ["very dissonant", "dissonant", "moderate harmonies", "harmonious", "very harmonious"])
|
1321
|
+
unless validator.valid?(harmony)
|
1322
|
+
fail ArgumentError, "invalid value for \"harmony\", must be one of #{validator.allowable_values}."
|
1323
|
+
end
|
1324
|
+
@harmony = harmony
|
1325
|
+
end
|
1326
|
+
|
1327
|
+
# Custom attribute writer method checking allowed values (enum).
|
1328
|
+
# @param [Object] texture Object to be assigned
|
1329
|
+
def texture=(texture)
|
1330
|
+
validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
|
1331
|
+
unless validator.valid?(texture)
|
1332
|
+
fail ArgumentError, "invalid value for \"texture\", must be one of #{validator.allowable_values}."
|
1333
|
+
end
|
1334
|
+
@texture = texture
|
1335
|
+
end
|
1336
|
+
|
1337
|
+
# Custom attribute writer method checking allowed values (enum).
|
1338
|
+
# @param [Object] groovyness Object to be assigned
|
1339
|
+
def groovyness=(groovyness)
|
1340
|
+
validator = EnumAttributeValidator.new('String', ["very steady", "steady", "moderate rhythm feel", "groovy", "very groovy"])
|
1341
|
+
unless validator.valid?(groovyness)
|
1342
|
+
fail ArgumentError, "invalid value for \"groovyness\", must be one of #{validator.allowable_values}."
|
1343
|
+
end
|
1344
|
+
@groovyness = groovyness
|
1345
|
+
end
|
1346
|
+
|
1347
|
+
# Custom attribute writer method checking allowed values (enum).
|
1348
|
+
# @param [Object] space Object to be assigned
|
1349
|
+
def space=(space)
|
1350
|
+
validator = EnumAttributeValidator.new('String', ["very compact", "compact", "moderate space", "wide", "very wide"])
|
1351
|
+
unless validator.valid?(space)
|
1352
|
+
fail ArgumentError, "invalid value for \"space\", must be one of #{validator.allowable_values}."
|
1353
|
+
end
|
1354
|
+
@space = space
|
1355
|
+
end
|
1356
|
+
|
1357
|
+
# Custom attribute writer method checking allowed values (enum).
|
1358
|
+
# @param [Object] key Object to be assigned
|
1359
|
+
def key=(key)
|
1360
|
+
validator = EnumAttributeValidator.new('String', ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "unclear"])
|
1361
|
+
unless validator.valid?(key)
|
1362
|
+
fail ArgumentError, "invalid value for \"key\", must be one of #{validator.allowable_values}."
|
1363
|
+
end
|
1364
|
+
@key = key
|
1365
|
+
end
|
1366
|
+
|
1367
|
+
# Custom attribute writer method checking allowed values (enum).
|
1368
|
+
# @param [Object] production_rating Object to be assigned
|
1369
|
+
def production_rating=(production_rating)
|
1370
|
+
validator = EnumAttributeValidator.new('String', ["low production quality", "medium production quality", "high production quality"])
|
1371
|
+
unless validator.valid?(production_rating)
|
1372
|
+
fail ArgumentError, "invalid value for \"production_rating\", must be one of #{validator.allowable_values}."
|
1373
|
+
end
|
1374
|
+
@production_rating = production_rating
|
1375
|
+
end
|
1376
|
+
|
1377
|
+
# Custom attribute writer method checking allowed values (enum).
|
1378
|
+
# @param [Object] performance_rating Object to be assigned
|
1379
|
+
def performance_rating=(performance_rating)
|
1380
|
+
validator = EnumAttributeValidator.new('String', ["low performance quality", "medium performance quality", "high performance quality"])
|
1381
|
+
unless validator.valid?(performance_rating)
|
1382
|
+
fail ArgumentError, "invalid value for \"performance_rating\", must be one of #{validator.allowable_values}."
|
1383
|
+
end
|
1384
|
+
@performance_rating = performance_rating
|
1385
|
+
end
|
1386
|
+
|
1387
|
+
# Custom attribute writer method checking allowed values (enum).
|
1388
|
+
# @param [Object] song_rating Object to be assigned
|
1389
|
+
def song_rating=(song_rating)
|
1390
|
+
validator = EnumAttributeValidator.new('String', ["low song quality", "medium song quality", "high song quality"])
|
1391
|
+
unless validator.valid?(song_rating)
|
1392
|
+
fail ArgumentError, "invalid value for \"song_rating\", must be one of #{validator.allowable_values}."
|
1393
|
+
end
|
1394
|
+
@song_rating = song_rating
|
1395
|
+
end
|
1396
|
+
|
1397
|
+
# Custom attribute writer method checking allowed values (enum).
|
1398
|
+
# @param [Object] audience_gender Object to be assigned
|
1399
|
+
def audience_gender=(audience_gender)
|
1400
|
+
validator = EnumAttributeValidator.new('String', ["male", "female"])
|
1401
|
+
unless validator.valid?(audience_gender)
|
1402
|
+
fail ArgumentError, "invalid value for \"audience_gender\", must be one of #{validator.allowable_values}."
|
1403
|
+
end
|
1404
|
+
@audience_gender = audience_gender
|
1405
|
+
end
|
1406
|
+
|
1407
|
+
# Custom attribute writer method checking allowed values (enum).
|
1408
|
+
# @param [Object] audience_region Object to be assigned
|
1409
|
+
def audience_region=(audience_region)
|
1410
|
+
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"])
|
1411
|
+
unless validator.valid?(audience_region)
|
1412
|
+
fail ArgumentError, "invalid value for \"audience_region\", must be one of #{validator.allowable_values}."
|
1413
|
+
end
|
1414
|
+
@audience_region = audience_region
|
1415
|
+
end
|
1416
|
+
|
1417
|
+
# Custom attribute writer method checking allowed values (enum).
|
1418
|
+
# @param [Object] secondary_audience_region Object to be assigned
|
1419
|
+
def secondary_audience_region=(secondary_audience_region)
|
1420
|
+
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"])
|
1421
|
+
unless validator.valid?(secondary_audience_region)
|
1422
|
+
fail ArgumentError, "invalid value for \"secondary_audience_region\", must be one of #{validator.allowable_values}."
|
1423
|
+
end
|
1424
|
+
@secondary_audience_region = secondary_audience_region
|
1425
|
+
end
|
1426
|
+
|
1427
|
+
# Custom attribute writer method checking allowed values (enum).
|
1428
|
+
# @param [Object] tertiary_audience_region Object to be assigned
|
1429
|
+
def tertiary_audience_region=(tertiary_audience_region)
|
1430
|
+
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"])
|
1431
|
+
unless validator.valid?(tertiary_audience_region)
|
1432
|
+
fail ArgumentError, "invalid value for \"tertiary_audience_region\", must be one of #{validator.allowable_values}."
|
1433
|
+
end
|
1434
|
+
@tertiary_audience_region = tertiary_audience_region
|
1435
|
+
end
|
1436
|
+
|
1437
|
+
# Custom attribute writer method checking allowed values (enum).
|
1438
|
+
# @param [Object] audience_age Object to be assigned
|
1439
|
+
def audience_age=(audience_age)
|
1440
|
+
validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
|
1441
|
+
unless validator.valid?(audience_age)
|
1442
|
+
fail ArgumentError, "invalid value for \"audience_age\", must be one of #{validator.allowable_values}."
|
1443
|
+
end
|
1444
|
+
@audience_age = audience_age
|
1445
|
+
end
|
1446
|
+
|
1447
|
+
# Custom attribute writer method checking allowed values (enum).
|
1448
|
+
# @param [Object] secondary_audience_age Object to be assigned
|
1449
|
+
def secondary_audience_age=(secondary_audience_age)
|
1450
|
+
validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
|
1451
|
+
unless validator.valid?(secondary_audience_age)
|
1452
|
+
fail ArgumentError, "invalid value for \"secondary_audience_age\", must be one of #{validator.allowable_values}."
|
1453
|
+
end
|
1454
|
+
@secondary_audience_age = secondary_audience_age
|
1455
|
+
end
|
1456
|
+
|
1457
|
+
# Custom attribute writer method checking allowed values (enum).
|
1458
|
+
# @param [Object] tertiary_audience_age Object to be assigned
|
1459
|
+
def tertiary_audience_age=(tertiary_audience_age)
|
1460
|
+
validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
|
1461
|
+
unless validator.valid?(tertiary_audience_age)
|
1462
|
+
fail ArgumentError, "invalid value for \"tertiary_audience_age\", must be one of #{validator.allowable_values}."
|
1463
|
+
end
|
1464
|
+
@tertiary_audience_age = tertiary_audience_age
|
1465
|
+
end
|
1466
|
+
|
1467
|
+
# Custom attribute writer method checking allowed values (enum).
|
1468
|
+
# @param [Object] origin_decade Object to be assigned
|
1469
|
+
def origin_decade=(origin_decade)
|
1470
|
+
validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
|
1471
|
+
unless validator.valid?(origin_decade)
|
1472
|
+
fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{validator.allowable_values}."
|
1473
|
+
end
|
1474
|
+
@origin_decade = origin_decade
|
1475
|
+
end
|
1476
|
+
|
1477
|
+
# Custom attribute writer method checking allowed values (enum).
|
1478
|
+
# @param [Object] language_of_performance Object to be assigned
|
1479
|
+
def language_of_performance=(language_of_performance)
|
1480
|
+
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"])
|
1481
|
+
unless validator.valid?(language_of_performance)
|
1482
|
+
fail ArgumentError, "invalid value for \"language_of_performance\", must be one of #{validator.allowable_values}."
|
1483
|
+
end
|
1484
|
+
@language_of_performance = language_of_performance
|
1485
|
+
end
|
1486
|
+
|
1487
|
+
# Custom attribute writer method checking allowed values (enum).
|
1488
|
+
# @param [Object] origin_region Object to be assigned
|
1489
|
+
def origin_region=(origin_region)
|
1490
|
+
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"])
|
1491
|
+
unless validator.valid?(origin_region)
|
1492
|
+
fail ArgumentError, "invalid value for \"origin_region\", must be one of #{validator.allowable_values}."
|
1493
|
+
end
|
1494
|
+
@origin_region = origin_region
|
1495
|
+
end
|
1496
|
+
|
1497
|
+
# Custom attribute writer method checking allowed values (enum).
|
1498
|
+
# @param [Object] level1_genre Object to be assigned
|
1499
|
+
def level1_genre=(level1_genre)
|
1500
|
+
validator = EnumAttributeValidator.new('String', ["Pop", "Rock", "Metal", "Jazz", "World", "Country", "Functional Music", "Classical", "Alternative", "R&B", "Blues", "Hip Hop", "Reggae", "Electronic", "Spoken Word", "Folk"])
|
1501
|
+
unless validator.valid?(level1_genre)
|
1502
|
+
fail ArgumentError, "invalid value for \"level1_genre\", must be one of #{validator.allowable_values}."
|
1503
|
+
end
|
1504
|
+
@level1_genre = level1_genre
|
1505
|
+
end
|
1506
|
+
|
1507
|
+
# Custom attribute writer method checking allowed values (enum).
|
1508
|
+
# @param [Object] secondary_level1_genre Object to be assigned
|
1509
|
+
def secondary_level1_genre=(secondary_level1_genre)
|
1510
|
+
validator = EnumAttributeValidator.new('String', ["Pop", "Rock", "Metal", "Jazz", "World", "Country", "Functional Music", "Classical", "Alternative", "R&B", "Blues", "Hip Hop", "Reggae", "Electronic", "Spoken Word", "Folk"])
|
1511
|
+
unless validator.valid?(secondary_level1_genre)
|
1512
|
+
fail ArgumentError, "invalid value for \"secondary_level1_genre\", must be one of #{validator.allowable_values}."
|
1513
|
+
end
|
1514
|
+
@secondary_level1_genre = secondary_level1_genre
|
1515
|
+
end
|
1516
|
+
|
1517
|
+
# Custom attribute writer method checking allowed values (enum).
|
1518
|
+
# @param [Object] tertiary_level1_genre Object to be assigned
|
1519
|
+
def tertiary_level1_genre=(tertiary_level1_genre)
|
1520
|
+
validator = EnumAttributeValidator.new('String', ["Pop", "Rock", "Metal", "Jazz", "World", "Country", "Functional Music", "Classical", "Alternative", "R&B", "Blues", "Hip Hop", "Reggae", "Electronic", "Spoken Word", "Folk"])
|
1521
|
+
unless validator.valid?(tertiary_level1_genre)
|
1522
|
+
fail ArgumentError, "invalid value for \"tertiary_level1_genre\", must be one of #{validator.allowable_values}."
|
1523
|
+
end
|
1524
|
+
@tertiary_level1_genre = tertiary_level1_genre
|
1525
|
+
end
|
1526
|
+
|
1527
|
+
# Custom attribute writer method checking allowed values (enum).
|
1528
|
+
# @param [Object] level2_genre Object to be assigned
|
1529
|
+
def level2_genre=(level2_genre)
|
1530
|
+
validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Neo Soul", "Early Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Jump Up", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Ambient House / Chill-Out", "Chemical Breaks & Big Beat", "Chicago House & Garage House", "Chicago Soul & Detroit Soul", "Comedy", "Dark Wave", "Dreampop & Shoegaze", "Electro House & Dutch House", "French House & Funky House", "Golden Age Rad & Hardcore Rap", "Hard Step & Tech Step", "Indietronica & Chillwave", "Nu Disco & Funktronica", "Doom Metal", "Mathcore", "Psy Trance", "Roots Rock"])
|
1531
|
+
unless validator.valid?(level2_genre)
|
1532
|
+
fail ArgumentError, "invalid value for \"level2_genre\", must be one of #{validator.allowable_values}."
|
1533
|
+
end
|
1534
|
+
@level2_genre = level2_genre
|
1535
|
+
end
|
1536
|
+
|
1537
|
+
# Custom attribute writer method checking allowed values (enum).
|
1538
|
+
# @param [Object] secondary_level2_genre Object to be assigned
|
1539
|
+
def secondary_level2_genre=(secondary_level2_genre)
|
1540
|
+
validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Neo Soul", "Early Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Jump Up", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Ambient House / Chill-Out", "Chemical Breaks & Big Beat", "Chicago House & Garage House", "Chicago Soul & Detroit Soul", "Comedy", "Dark Wave", "Dreampop & Shoegaze", "Electro House & Dutch House", "French House & Funky House", "Golden Age Rad & Hardcore Rap", "Hard Step & Tech Step", "Indietronica & Chillwave", "Nu Disco & Funktronica", "Doom Metal", "Mathcore", "Psy Trance", "Roots Rock"])
|
1541
|
+
unless validator.valid?(secondary_level2_genre)
|
1542
|
+
fail ArgumentError, "invalid value for \"secondary_level2_genre\", must be one of #{validator.allowable_values}."
|
1543
|
+
end
|
1544
|
+
@secondary_level2_genre = secondary_level2_genre
|
1545
|
+
end
|
1546
|
+
|
1547
|
+
# Custom attribute writer method checking allowed values (enum).
|
1548
|
+
# @param [Object] tertiary_level2_genre Object to be assigned
|
1549
|
+
def tertiary_level2_genre=(tertiary_level2_genre)
|
1550
|
+
validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Neo Soul", "Early Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Jump Up", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Ambient House / Chill-Out", "Chemical Breaks & Big Beat", "Chicago House & Garage House", "Chicago Soul & Detroit Soul", "Comedy", "Dark Wave", "Dreampop & Shoegaze", "Electro House & Dutch House", "French House & Funky House", "Golden Age Rad & Hardcore Rap", "Hard Step & Tech Step", "Indietronica & Chillwave", "Nu Disco & Funktronica", "Doom Metal", "Mathcore", "Psy Trance", "Roots Rock"])
|
1551
|
+
unless validator.valid?(tertiary_level2_genre)
|
1552
|
+
fail ArgumentError, "invalid value for \"tertiary_level2_genre\", must be one of #{validator.allowable_values}."
|
1553
|
+
end
|
1554
|
+
@tertiary_level2_genre = tertiary_level2_genre
|
1555
|
+
end
|
1556
|
+
|
1557
|
+
# Custom attribute writer method checking allowed values (enum).
|
1558
|
+
# @param [Object] curateability Object to be assigned
|
1559
|
+
def curateability=(curateability)
|
1560
|
+
validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
|
1561
|
+
unless validator.valid?(curateability)
|
1562
|
+
fail ArgumentError, "invalid value for \"curateability\", must be one of #{validator.allowable_values}."
|
1563
|
+
end
|
1564
|
+
@curateability = curateability
|
1565
|
+
end
|
1566
|
+
|
1567
|
+
# Custom attribute writer method checking allowed values (enum).
|
1568
|
+
# @param [Object] use_case Object to be assigned
|
1569
|
+
def use_case=(use_case)
|
1570
|
+
validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
|
1571
|
+
unless validator.valid?(use_case)
|
1572
|
+
fail ArgumentError, "invalid value for \"use_case\", must be one of #{validator.allowable_values}."
|
1573
|
+
end
|
1574
|
+
@use_case = use_case
|
1575
|
+
end
|
1576
|
+
|
1577
|
+
# Custom attribute writer method checking allowed values (enum).
|
1578
|
+
# @param [Object] social_media Object to be assigned
|
1579
|
+
def social_media=(social_media)
|
1580
|
+
validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
|
1581
|
+
unless validator.valid?(social_media)
|
1582
|
+
fail ArgumentError, "invalid value for \"social_media\", must be one of #{validator.allowable_values}."
|
1583
|
+
end
|
1584
|
+
@social_media = social_media
|
1585
|
+
end
|
1586
|
+
|
1587
|
+
# Custom attribute writer method checking allowed values (enum).
|
1588
|
+
# @param [Object] industry_suitability Object to be assigned
|
1589
|
+
def industry_suitability=(industry_suitability)
|
1590
|
+
validator = EnumAttributeValidator.new('String', ["Automobiles and Parts", "Consumer Products and Services", "Financial Services", "Food, Beverage and Tobacco", "Health Care", "Insurance", "Media", "Politics, Government and Organizations", "Real Estate", "Retail", "Technology", "Telecommunications", "Travel and Leisure"])
|
1591
|
+
unless validator.valid?(industry_suitability)
|
1592
|
+
fail ArgumentError, "invalid value for \"industry_suitability\", must be one of #{validator.allowable_values}."
|
1593
|
+
end
|
1594
|
+
@industry_suitability = industry_suitability
|
1595
|
+
end
|
1596
|
+
|
1597
|
+
# Checks equality by comparing each attribute.
|
1598
|
+
# @param [Object] Object to be compared
|
1599
|
+
def ==(o)
|
1600
|
+
return true if self.equal?(o)
|
1601
|
+
self.class == o.class &&
|
1602
|
+
isrc == o.isrc &&
|
1603
|
+
name == o.name &&
|
1604
|
+
folder == o.folder &&
|
1605
|
+
primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
|
1606
|
+
primary_mood_cluster == o.primary_mood_cluster &&
|
1607
|
+
secondary_mood_cluster_affinity == o.secondary_mood_cluster_affinity &&
|
1608
|
+
secondary_mood_cluster == o.secondary_mood_cluster &&
|
1609
|
+
tertiary_mood_cluster_affinity == o.tertiary_mood_cluster_affinity &&
|
1610
|
+
tertiary_mood_cluster == o.tertiary_mood_cluster &&
|
1611
|
+
valence_affinity == o.valence_affinity &&
|
1612
|
+
arousal_affinity == o.arousal_affinity &&
|
1613
|
+
pleasantness_affinity == o.pleasantness_affinity &&
|
1614
|
+
engagement_affinity == o.engagement_affinity &&
|
1615
|
+
valence == o.valence &&
|
1616
|
+
arousal == o.arousal &&
|
1617
|
+
pleasantness == o.pleasantness &&
|
1618
|
+
engagement == o.engagement &&
|
1619
|
+
vocals == o.vocals &&
|
1620
|
+
vocals_affinity == o.vocals_affinity &&
|
1621
|
+
dominant_instrument == o.dominant_instrument &&
|
1622
|
+
dominant_instrument_affinity == o.dominant_instrument_affinity &&
|
1623
|
+
secondary_instrument_affinity == o.secondary_instrument_affinity &&
|
1624
|
+
secondary_instrument == o.secondary_instrument &&
|
1625
|
+
tertiary_instrument_affinity == o.tertiary_instrument_affinity &&
|
1626
|
+
tertiary_instrument == o.tertiary_instrument &&
|
1627
|
+
energy == o.energy &&
|
1628
|
+
energy_affinity == o.energy_affinity &&
|
1629
|
+
sound_generation == o.sound_generation &&
|
1630
|
+
sound_generation_affinity == o.sound_generation_affinity &&
|
1631
|
+
tempo == o.tempo &&
|
1632
|
+
tempo_affinity == o.tempo_affinity &&
|
1633
|
+
scale == o.scale &&
|
1634
|
+
scale_affinity == o.scale_affinity &&
|
1635
|
+
rhythm == o.rhythm &&
|
1636
|
+
rhythm_affinity == o.rhythm_affinity &&
|
1637
|
+
primary_sound_character == o.primary_sound_character &&
|
1638
|
+
primary_sound_character_affinity == o.primary_sound_character_affinity &&
|
1639
|
+
timbre_affinity == o.timbre_affinity &&
|
1640
|
+
roughness_affinity == o.roughness_affinity &&
|
1641
|
+
tonality_affinity == o.tonality_affinity &&
|
1642
|
+
harmony_affinity == o.harmony_affinity &&
|
1643
|
+
texture_affinity == o.texture_affinity &&
|
1644
|
+
groovyness_affinity == o.groovyness_affinity &&
|
1645
|
+
space_affinity == o.space_affinity &&
|
1646
|
+
timbre == o.timbre &&
|
1647
|
+
roughness == o.roughness &&
|
1648
|
+
tonality == o.tonality &&
|
1649
|
+
harmony == o.harmony &&
|
1650
|
+
texture == o.texture &&
|
1651
|
+
groovyness == o.groovyness &&
|
1652
|
+
space == o.space &&
|
1653
|
+
bpm == o.bpm &&
|
1654
|
+
key == o.key &&
|
1655
|
+
key_affinity == o.key_affinity &&
|
1656
|
+
production_rating == o.production_rating &&
|
1657
|
+
production_rating_affinity == o.production_rating_affinity &&
|
1658
|
+
performance_rating == o.performance_rating &&
|
1659
|
+
performance_rating_affinity == o.performance_rating_affinity &&
|
1660
|
+
song_rating == o.song_rating &&
|
1661
|
+
song_rating_affinity == o.song_rating_affinity &&
|
1662
|
+
audience_gender == o.audience_gender &&
|
1663
|
+
audience_gender_affinity == o.audience_gender_affinity &&
|
1664
|
+
audience_region == o.audience_region &&
|
1665
|
+
audience_region_affinity == o.audience_region_affinity &&
|
1666
|
+
secondary_audience_region_affinity == o.secondary_audience_region_affinity &&
|
1667
|
+
secondary_audience_region == o.secondary_audience_region &&
|
1668
|
+
tertiary_audience_region_affinity == o.tertiary_audience_region_affinity &&
|
1669
|
+
tertiary_audience_region == o.tertiary_audience_region &&
|
1670
|
+
audience_age == o.audience_age &&
|
1671
|
+
audience_age_affinity == o.audience_age_affinity &&
|
1672
|
+
secondary_audience_age == o.secondary_audience_age &&
|
1673
|
+
secondary_audience_age_affinity == o.secondary_audience_age_affinity &&
|
1674
|
+
tertiary_audience_age == o.tertiary_audience_age &&
|
1675
|
+
tertiary_audience_age_affinity == o.tertiary_audience_age_affinity &&
|
1676
|
+
origin_decade == o.origin_decade &&
|
1677
|
+
origin_decade_affinity == o.origin_decade_affinity &&
|
1678
|
+
language_of_performance == o.language_of_performance &&
|
1679
|
+
language_of_performance_affinity == o.language_of_performance_affinity &&
|
1680
|
+
origin_region == o.origin_region &&
|
1681
|
+
origin_region_affinity == o.origin_region_affinity &&
|
1682
|
+
taggrams == o.taggrams &&
|
1683
|
+
embeddings == o.embeddings &&
|
1684
|
+
level1_genre == o.level1_genre &&
|
1685
|
+
level1_genre_affinity == o.level1_genre_affinity &&
|
1686
|
+
secondary_level1_genre == o.secondary_level1_genre &&
|
1687
|
+
secondary_level1_genre_affinity == o.secondary_level1_genre_affinity &&
|
1688
|
+
tertiary_level1_genre == o.tertiary_level1_genre &&
|
1689
|
+
tertiary_level1_genre_affinity == o.tertiary_level1_genre_affinity &&
|
1690
|
+
level2_genre == o.level2_genre &&
|
1691
|
+
level2_genre_affinity == o.level2_genre_affinity &&
|
1692
|
+
secondary_level2_genre == o.secondary_level2_genre &&
|
1693
|
+
secondary_level2_genre_affinity == o.secondary_level2_genre_affinity &&
|
1694
|
+
tertiary_level2_genre == o.tertiary_level2_genre &&
|
1695
|
+
tertiary_level2_genre_affinity == o.tertiary_level2_genre_affinity &&
|
1696
|
+
curateability == o.curateability &&
|
1697
|
+
curateability_affinity == o.curateability_affinity &&
|
1698
|
+
use_case == o.use_case &&
|
1699
|
+
use_case_affinity == o.use_case_affinity &&
|
1700
|
+
social_media == o.social_media &&
|
1701
|
+
social_media_affinity == o.social_media_affinity &&
|
1702
|
+
industry_suitability == o.industry_suitability &&
|
1703
|
+
industry_suitability_affinity == o.industry_suitability_affinity &&
|
1704
|
+
created_by_version == o.created_by_version &&
|
1705
|
+
tags == o.tags &&
|
1706
|
+
genres == o.genres &&
|
1707
|
+
parties == o.parties &&
|
1708
|
+
iswc == o.iswc &&
|
1709
|
+
proprietary_id_gema == o.proprietary_id_gema &&
|
1710
|
+
title == o.title &&
|
1711
|
+
version_title == o.version_title
|
1712
|
+
end
|
1713
|
+
|
1714
|
+
# @see the `==` method
|
1715
|
+
# @param [Object] Object to be compared
|
1716
|
+
def eql?(o)
|
1717
|
+
self == o
|
1718
|
+
end
|
1719
|
+
|
1720
|
+
# Calculates hash code according to all attributes.
|
1721
|
+
# @return [Integer] Hash code
|
1722
|
+
def hash
|
1723
|
+
[isrc, name, folder, primary_mood_cluster_affinity, primary_mood_cluster, secondary_mood_cluster_affinity, secondary_mood_cluster, tertiary_mood_cluster_affinity, tertiary_mood_cluster, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, valence, arousal, pleasantness, engagement, vocals, vocals_affinity, dominant_instrument, dominant_instrument_affinity, secondary_instrument_affinity, secondary_instrument, tertiary_instrument_affinity, tertiary_instrument, energy, energy_affinity, sound_generation, sound_generation_affinity, tempo, tempo_affinity, scale, scale_affinity, rhythm, rhythm_affinity, primary_sound_character, primary_sound_character_affinity, timbre_affinity, roughness_affinity, tonality_affinity, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, timbre, roughness, tonality, harmony, texture, groovyness, space, bpm, key, key_affinity, production_rating, production_rating_affinity, performance_rating, performance_rating_affinity, song_rating, song_rating_affinity, audience_gender, audience_gender_affinity, audience_region, audience_region_affinity, secondary_audience_region_affinity, secondary_audience_region, tertiary_audience_region_affinity, tertiary_audience_region, audience_age, audience_age_affinity, secondary_audience_age, secondary_audience_age_affinity, tertiary_audience_age, tertiary_audience_age_affinity, origin_decade, origin_decade_affinity, language_of_performance, language_of_performance_affinity, origin_region, origin_region_affinity, taggrams, embeddings, level1_genre, level1_genre_affinity, secondary_level1_genre, secondary_level1_genre_affinity, tertiary_level1_genre, tertiary_level1_genre_affinity, level2_genre, level2_genre_affinity, secondary_level2_genre, secondary_level2_genre_affinity, tertiary_level2_genre, tertiary_level2_genre_affinity, curateability, curateability_affinity, use_case, use_case_affinity, social_media, social_media_affinity, industry_suitability, industry_suitability_affinity, created_by_version, tags, genres, parties, iswc, proprietary_id_gema, title, version_title].hash
|
1724
|
+
end
|
1725
|
+
|
1726
|
+
# Builds the object from hash
|
1727
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
1728
|
+
# @return [Object] Returns the model itself
|
1729
|
+
def self.build_from_hash(attributes)
|
1730
|
+
new.build_from_hash(attributes)
|
1731
|
+
end
|
1732
|
+
|
1733
|
+
# Builds the object from hash
|
1734
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
1735
|
+
# @return [Object] Returns the model itself
|
1736
|
+
def build_from_hash(attributes)
|
1737
|
+
return nil unless attributes.is_a?(Hash)
|
1738
|
+
attributes = attributes.transform_keys(&:to_sym)
|
1739
|
+
self.class.openapi_types.each_pair do |key, type|
|
1740
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
1741
|
+
self.send("#{key}=", nil)
|
1742
|
+
elsif type =~ /\AArray<(.*)>/i
|
1743
|
+
# check to ensure the input is an array given that the attribute
|
1744
|
+
# is documented as an array but the input is not
|
1745
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
1746
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
1747
|
+
end
|
1748
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
1749
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
1750
|
+
end
|
1751
|
+
end
|
1752
|
+
|
1753
|
+
self
|
1754
|
+
end
|
1755
|
+
|
1756
|
+
# Deserializes the data based on type
|
1757
|
+
# @param string type Data type
|
1758
|
+
# @param string value Value to be deserialized
|
1759
|
+
# @return [Object] Deserialized data
|
1760
|
+
def _deserialize(type, value)
|
1761
|
+
case type.to_sym
|
1762
|
+
when :Time
|
1763
|
+
Time.parse(value)
|
1764
|
+
when :Date
|
1765
|
+
Date.parse(value)
|
1766
|
+
when :String
|
1767
|
+
value.to_s
|
1768
|
+
when :Integer
|
1769
|
+
value.to_i
|
1770
|
+
when :Float
|
1771
|
+
value.to_f
|
1772
|
+
when :Boolean
|
1773
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
1774
|
+
true
|
1775
|
+
else
|
1776
|
+
false
|
1777
|
+
end
|
1778
|
+
when :Object
|
1779
|
+
# generic object (usually a Hash), return directly
|
1780
|
+
value
|
1781
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
1782
|
+
inner_type = Regexp.last_match[:inner_type]
|
1783
|
+
value.map { |v| _deserialize(inner_type, v) }
|
1784
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
1785
|
+
k_type = Regexp.last_match[:k_type]
|
1786
|
+
v_type = Regexp.last_match[:v_type]
|
1787
|
+
{}.tap do |hash|
|
1788
|
+
value.each do |k, v|
|
1789
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
1790
|
+
end
|
1791
|
+
end
|
1792
|
+
else # model
|
1793
|
+
# models (e.g. Pet) or oneOf
|
1794
|
+
klass = MusicubeApiClientRuby.const_get(type)
|
1795
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
1796
|
+
end
|
1797
|
+
end
|
1798
|
+
|
1799
|
+
# Returns the string representation of the object
|
1800
|
+
# @return [String] String presentation of the object
|
1801
|
+
def to_s
|
1802
|
+
to_hash.to_s
|
1803
|
+
end
|
1804
|
+
|
1805
|
+
# to_body is an alias to to_hash (backward compatibility)
|
1806
|
+
# @return [Hash] Returns the object in the form of hash
|
1807
|
+
def to_body
|
1808
|
+
to_hash
|
1809
|
+
end
|
1810
|
+
|
1811
|
+
# Returns the object in the form of hash
|
1812
|
+
# @return [Hash] Returns the object in the form of hash
|
1813
|
+
def to_hash
|
1814
|
+
hash = {}
|
1815
|
+
self.class.attribute_map.each_pair do |attr, param|
|
1816
|
+
value = self.send(attr)
|
1817
|
+
if value.nil?
|
1818
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
1819
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
1820
|
+
end
|
1821
|
+
|
1822
|
+
hash[param] = _to_hash(value)
|
1823
|
+
end
|
1824
|
+
hash
|
1825
|
+
end
|
1826
|
+
|
1827
|
+
# Outputs non-array value in the form of hash
|
1828
|
+
# For object, use to_hash. Otherwise, just return the value
|
1829
|
+
# @param [Object] value Any valid value
|
1830
|
+
# @return [Hash] Returns the value in the form of hash
|
1831
|
+
def _to_hash(value)
|
1832
|
+
if value.is_a?(Array)
|
1833
|
+
value.compact.map { |v| _to_hash(v) }
|
1834
|
+
elsif value.is_a?(Hash)
|
1835
|
+
{}.tap do |hash|
|
1836
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
1837
|
+
end
|
1838
|
+
elsif value.respond_to? :to_hash
|
1839
|
+
value.to_hash
|
1840
|
+
else
|
1841
|
+
value
|
1842
|
+
end
|
1843
|
+
end
|
1844
|
+
|
1845
|
+
end
|
1846
|
+
|
1847
|
+
end
|