1#![allow(unknown_lints)]
7#![allow(clippy::all)]
8
9#![allow(unused_attributes)]
10#![cfg_attr(rustfmt, rustfmt::skip)]
11
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_results)]
19#![allow(unused_mut)]
20
21const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_2;
26
27#[derive(PartialEq,Clone,Default,Debug)]
29pub struct InstrumentFlags {
30 pub indefinite_pitch: ::std::option::Option<bool>,
33 pub placed_as_building: ::std::option::Option<bool>,
35 pub metal_mat: ::std::option::Option<bool>,
37 pub stone_mat: ::std::option::Option<bool>,
39 pub wood_mat: ::std::option::Option<bool>,
41 pub glass_mat: ::std::option::Option<bool>,
43 pub ceramic_mat: ::std::option::Option<bool>,
45 pub shell_mat: ::std::option::Option<bool>,
47 pub bone_mat: ::std::option::Option<bool>,
49 pub special_fields: ::protobuf::SpecialFields,
52}
53
54impl<'a> ::std::default::Default for &'a InstrumentFlags {
55 fn default() -> &'a InstrumentFlags {
56 <InstrumentFlags as ::protobuf::Message>::default_instance()
57 }
58}
59
60impl InstrumentFlags {
61 pub fn new() -> InstrumentFlags {
62 ::std::default::Default::default()
63 }
64
65 pub fn indefinite_pitch(&self) -> bool {
68 self.indefinite_pitch.unwrap_or(false)
69 }
70
71 pub fn clear_indefinite_pitch(&mut self) {
72 self.indefinite_pitch = ::std::option::Option::None;
73 }
74
75 pub fn has_indefinite_pitch(&self) -> bool {
76 self.indefinite_pitch.is_some()
77 }
78
79 pub fn set_indefinite_pitch(&mut self, v: bool) {
81 self.indefinite_pitch = ::std::option::Option::Some(v);
82 }
83
84 pub fn placed_as_building(&self) -> bool {
87 self.placed_as_building.unwrap_or(false)
88 }
89
90 pub fn clear_placed_as_building(&mut self) {
91 self.placed_as_building = ::std::option::Option::None;
92 }
93
94 pub fn has_placed_as_building(&self) -> bool {
95 self.placed_as_building.is_some()
96 }
97
98 pub fn set_placed_as_building(&mut self, v: bool) {
100 self.placed_as_building = ::std::option::Option::Some(v);
101 }
102
103 pub fn metal_mat(&self) -> bool {
106 self.metal_mat.unwrap_or(false)
107 }
108
109 pub fn clear_metal_mat(&mut self) {
110 self.metal_mat = ::std::option::Option::None;
111 }
112
113 pub fn has_metal_mat(&self) -> bool {
114 self.metal_mat.is_some()
115 }
116
117 pub fn set_metal_mat(&mut self, v: bool) {
119 self.metal_mat = ::std::option::Option::Some(v);
120 }
121
122 pub fn stone_mat(&self) -> bool {
125 self.stone_mat.unwrap_or(false)
126 }
127
128 pub fn clear_stone_mat(&mut self) {
129 self.stone_mat = ::std::option::Option::None;
130 }
131
132 pub fn has_stone_mat(&self) -> bool {
133 self.stone_mat.is_some()
134 }
135
136 pub fn set_stone_mat(&mut self, v: bool) {
138 self.stone_mat = ::std::option::Option::Some(v);
139 }
140
141 pub fn wood_mat(&self) -> bool {
144 self.wood_mat.unwrap_or(false)
145 }
146
147 pub fn clear_wood_mat(&mut self) {
148 self.wood_mat = ::std::option::Option::None;
149 }
150
151 pub fn has_wood_mat(&self) -> bool {
152 self.wood_mat.is_some()
153 }
154
155 pub fn set_wood_mat(&mut self, v: bool) {
157 self.wood_mat = ::std::option::Option::Some(v);
158 }
159
160 pub fn glass_mat(&self) -> bool {
163 self.glass_mat.unwrap_or(false)
164 }
165
166 pub fn clear_glass_mat(&mut self) {
167 self.glass_mat = ::std::option::Option::None;
168 }
169
170 pub fn has_glass_mat(&self) -> bool {
171 self.glass_mat.is_some()
172 }
173
174 pub fn set_glass_mat(&mut self, v: bool) {
176 self.glass_mat = ::std::option::Option::Some(v);
177 }
178
179 pub fn ceramic_mat(&self) -> bool {
182 self.ceramic_mat.unwrap_or(false)
183 }
184
185 pub fn clear_ceramic_mat(&mut self) {
186 self.ceramic_mat = ::std::option::Option::None;
187 }
188
189 pub fn has_ceramic_mat(&self) -> bool {
190 self.ceramic_mat.is_some()
191 }
192
193 pub fn set_ceramic_mat(&mut self, v: bool) {
195 self.ceramic_mat = ::std::option::Option::Some(v);
196 }
197
198 pub fn shell_mat(&self) -> bool {
201 self.shell_mat.unwrap_or(false)
202 }
203
204 pub fn clear_shell_mat(&mut self) {
205 self.shell_mat = ::std::option::Option::None;
206 }
207
208 pub fn has_shell_mat(&self) -> bool {
209 self.shell_mat.is_some()
210 }
211
212 pub fn set_shell_mat(&mut self, v: bool) {
214 self.shell_mat = ::std::option::Option::Some(v);
215 }
216
217 pub fn bone_mat(&self) -> bool {
220 self.bone_mat.unwrap_or(false)
221 }
222
223 pub fn clear_bone_mat(&mut self) {
224 self.bone_mat = ::std::option::Option::None;
225 }
226
227 pub fn has_bone_mat(&self) -> bool {
228 self.bone_mat.is_some()
229 }
230
231 pub fn set_bone_mat(&mut self, v: bool) {
233 self.bone_mat = ::std::option::Option::Some(v);
234 }
235
236 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
237 let mut fields = ::std::vec::Vec::with_capacity(9);
238 let mut oneofs = ::std::vec::Vec::with_capacity(0);
239 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
240 "indefinite_pitch",
241 |m: &InstrumentFlags| { &m.indefinite_pitch },
242 |m: &mut InstrumentFlags| { &mut m.indefinite_pitch },
243 ));
244 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
245 "placed_as_building",
246 |m: &InstrumentFlags| { &m.placed_as_building },
247 |m: &mut InstrumentFlags| { &mut m.placed_as_building },
248 ));
249 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
250 "metal_mat",
251 |m: &InstrumentFlags| { &m.metal_mat },
252 |m: &mut InstrumentFlags| { &mut m.metal_mat },
253 ));
254 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
255 "stone_mat",
256 |m: &InstrumentFlags| { &m.stone_mat },
257 |m: &mut InstrumentFlags| { &mut m.stone_mat },
258 ));
259 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
260 "wood_mat",
261 |m: &InstrumentFlags| { &m.wood_mat },
262 |m: &mut InstrumentFlags| { &mut m.wood_mat },
263 ));
264 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
265 "glass_mat",
266 |m: &InstrumentFlags| { &m.glass_mat },
267 |m: &mut InstrumentFlags| { &mut m.glass_mat },
268 ));
269 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
270 "ceramic_mat",
271 |m: &InstrumentFlags| { &m.ceramic_mat },
272 |m: &mut InstrumentFlags| { &mut m.ceramic_mat },
273 ));
274 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
275 "shell_mat",
276 |m: &InstrumentFlags| { &m.shell_mat },
277 |m: &mut InstrumentFlags| { &mut m.shell_mat },
278 ));
279 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
280 "bone_mat",
281 |m: &InstrumentFlags| { &m.bone_mat },
282 |m: &mut InstrumentFlags| { &mut m.bone_mat },
283 ));
284 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<InstrumentFlags>(
285 "InstrumentFlags",
286 fields,
287 oneofs,
288 )
289 }
290}
291
292impl ::protobuf::Message for InstrumentFlags {
293 const NAME: &'static str = "InstrumentFlags";
294
295 fn is_initialized(&self) -> bool {
296 true
297 }
298
299 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
300 while let Some(tag) = is.read_raw_tag_or_eof()? {
301 match tag {
302 8 => {
303 self.indefinite_pitch = ::std::option::Option::Some(is.read_bool()?);
304 },
305 16 => {
306 self.placed_as_building = ::std::option::Option::Some(is.read_bool()?);
307 },
308 24 => {
309 self.metal_mat = ::std::option::Option::Some(is.read_bool()?);
310 },
311 32 => {
312 self.stone_mat = ::std::option::Option::Some(is.read_bool()?);
313 },
314 40 => {
315 self.wood_mat = ::std::option::Option::Some(is.read_bool()?);
316 },
317 48 => {
318 self.glass_mat = ::std::option::Option::Some(is.read_bool()?);
319 },
320 56 => {
321 self.ceramic_mat = ::std::option::Option::Some(is.read_bool()?);
322 },
323 64 => {
324 self.shell_mat = ::std::option::Option::Some(is.read_bool()?);
325 },
326 72 => {
327 self.bone_mat = ::std::option::Option::Some(is.read_bool()?);
328 },
329 tag => {
330 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
331 },
332 };
333 }
334 ::std::result::Result::Ok(())
335 }
336
337 #[allow(unused_variables)]
339 fn compute_size(&self) -> u64 {
340 let mut my_size = 0;
341 if let Some(v) = self.indefinite_pitch {
342 my_size += 1 + 1;
343 }
344 if let Some(v) = self.placed_as_building {
345 my_size += 1 + 1;
346 }
347 if let Some(v) = self.metal_mat {
348 my_size += 1 + 1;
349 }
350 if let Some(v) = self.stone_mat {
351 my_size += 1 + 1;
352 }
353 if let Some(v) = self.wood_mat {
354 my_size += 1 + 1;
355 }
356 if let Some(v) = self.glass_mat {
357 my_size += 1 + 1;
358 }
359 if let Some(v) = self.ceramic_mat {
360 my_size += 1 + 1;
361 }
362 if let Some(v) = self.shell_mat {
363 my_size += 1 + 1;
364 }
365 if let Some(v) = self.bone_mat {
366 my_size += 1 + 1;
367 }
368 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
369 self.special_fields.cached_size().set(my_size as u32);
370 my_size
371 }
372
373 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
374 if let Some(v) = self.indefinite_pitch {
375 os.write_bool(1, v)?;
376 }
377 if let Some(v) = self.placed_as_building {
378 os.write_bool(2, v)?;
379 }
380 if let Some(v) = self.metal_mat {
381 os.write_bool(3, v)?;
382 }
383 if let Some(v) = self.stone_mat {
384 os.write_bool(4, v)?;
385 }
386 if let Some(v) = self.wood_mat {
387 os.write_bool(5, v)?;
388 }
389 if let Some(v) = self.glass_mat {
390 os.write_bool(6, v)?;
391 }
392 if let Some(v) = self.ceramic_mat {
393 os.write_bool(7, v)?;
394 }
395 if let Some(v) = self.shell_mat {
396 os.write_bool(8, v)?;
397 }
398 if let Some(v) = self.bone_mat {
399 os.write_bool(9, v)?;
400 }
401 os.write_unknown_fields(self.special_fields.unknown_fields())?;
402 ::std::result::Result::Ok(())
403 }
404
405 fn special_fields(&self) -> &::protobuf::SpecialFields {
406 &self.special_fields
407 }
408
409 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
410 &mut self.special_fields
411 }
412
413 fn new() -> InstrumentFlags {
414 InstrumentFlags::new()
415 }
416
417 fn clear(&mut self) {
418 self.indefinite_pitch = ::std::option::Option::None;
419 self.placed_as_building = ::std::option::Option::None;
420 self.metal_mat = ::std::option::Option::None;
421 self.stone_mat = ::std::option::Option::None;
422 self.wood_mat = ::std::option::Option::None;
423 self.glass_mat = ::std::option::Option::None;
424 self.ceramic_mat = ::std::option::Option::None;
425 self.shell_mat = ::std::option::Option::None;
426 self.bone_mat = ::std::option::Option::None;
427 self.special_fields.clear();
428 }
429
430 fn default_instance() -> &'static InstrumentFlags {
431 static instance: InstrumentFlags = InstrumentFlags {
432 indefinite_pitch: ::std::option::Option::None,
433 placed_as_building: ::std::option::Option::None,
434 metal_mat: ::std::option::Option::None,
435 stone_mat: ::std::option::Option::None,
436 wood_mat: ::std::option::Option::None,
437 glass_mat: ::std::option::Option::None,
438 ceramic_mat: ::std::option::Option::None,
439 shell_mat: ::std::option::Option::None,
440 bone_mat: ::std::option::Option::None,
441 special_fields: ::protobuf::SpecialFields::new(),
442 };
443 &instance
444 }
445}
446
447impl ::protobuf::MessageFull for InstrumentFlags {
448 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
449 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
450 descriptor.get(|| file_descriptor().message_by_package_relative_name("InstrumentFlags").unwrap()).clone()
451 }
452}
453
454impl ::std::fmt::Display for InstrumentFlags {
455 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
456 ::protobuf::text_format::fmt(self, f)
457 }
458}
459
460impl ::protobuf::reflect::ProtobufValue for InstrumentFlags {
461 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
462}
463
464#[derive(PartialEq,Clone,Default,Debug)]
466pub struct InstrumentPiece {
467 pub type_: ::std::option::Option<::std::string::String>,
470 pub id: ::std::option::Option<::std::string::String>,
472 pub name: ::std::option::Option<::std::string::String>,
474 pub name_plural: ::std::option::Option<::std::string::String>,
476 pub special_fields: ::protobuf::SpecialFields,
479}
480
481impl<'a> ::std::default::Default for &'a InstrumentPiece {
482 fn default() -> &'a InstrumentPiece {
483 <InstrumentPiece as ::protobuf::Message>::default_instance()
484 }
485}
486
487impl InstrumentPiece {
488 pub fn new() -> InstrumentPiece {
489 ::std::default::Default::default()
490 }
491
492 pub fn type_(&self) -> &str {
495 match self.type_.as_ref() {
496 Some(v) => v,
497 None => "",
498 }
499 }
500
501 pub fn clear_type_(&mut self) {
502 self.type_ = ::std::option::Option::None;
503 }
504
505 pub fn has_type(&self) -> bool {
506 self.type_.is_some()
507 }
508
509 pub fn set_type(&mut self, v: ::std::string::String) {
511 self.type_ = ::std::option::Option::Some(v);
512 }
513
514 pub fn mut_type(&mut self) -> &mut ::std::string::String {
517 if self.type_.is_none() {
518 self.type_ = ::std::option::Option::Some(::std::string::String::new());
519 }
520 self.type_.as_mut().unwrap()
521 }
522
523 pub fn take_type_(&mut self) -> ::std::string::String {
525 self.type_.take().unwrap_or_else(|| ::std::string::String::new())
526 }
527
528 pub fn id(&self) -> &str {
531 match self.id.as_ref() {
532 Some(v) => v,
533 None => "",
534 }
535 }
536
537 pub fn clear_id(&mut self) {
538 self.id = ::std::option::Option::None;
539 }
540
541 pub fn has_id(&self) -> bool {
542 self.id.is_some()
543 }
544
545 pub fn set_id(&mut self, v: ::std::string::String) {
547 self.id = ::std::option::Option::Some(v);
548 }
549
550 pub fn mut_id(&mut self) -> &mut ::std::string::String {
553 if self.id.is_none() {
554 self.id = ::std::option::Option::Some(::std::string::String::new());
555 }
556 self.id.as_mut().unwrap()
557 }
558
559 pub fn take_id(&mut self) -> ::std::string::String {
561 self.id.take().unwrap_or_else(|| ::std::string::String::new())
562 }
563
564 pub fn name(&self) -> &str {
567 match self.name.as_ref() {
568 Some(v) => v,
569 None => "",
570 }
571 }
572
573 pub fn clear_name(&mut self) {
574 self.name = ::std::option::Option::None;
575 }
576
577 pub fn has_name(&self) -> bool {
578 self.name.is_some()
579 }
580
581 pub fn set_name(&mut self, v: ::std::string::String) {
583 self.name = ::std::option::Option::Some(v);
584 }
585
586 pub fn mut_name(&mut self) -> &mut ::std::string::String {
589 if self.name.is_none() {
590 self.name = ::std::option::Option::Some(::std::string::String::new());
591 }
592 self.name.as_mut().unwrap()
593 }
594
595 pub fn take_name(&mut self) -> ::std::string::String {
597 self.name.take().unwrap_or_else(|| ::std::string::String::new())
598 }
599
600 pub fn name_plural(&self) -> &str {
603 match self.name_plural.as_ref() {
604 Some(v) => v,
605 None => "",
606 }
607 }
608
609 pub fn clear_name_plural(&mut self) {
610 self.name_plural = ::std::option::Option::None;
611 }
612
613 pub fn has_name_plural(&self) -> bool {
614 self.name_plural.is_some()
615 }
616
617 pub fn set_name_plural(&mut self, v: ::std::string::String) {
619 self.name_plural = ::std::option::Option::Some(v);
620 }
621
622 pub fn mut_name_plural(&mut self) -> &mut ::std::string::String {
625 if self.name_plural.is_none() {
626 self.name_plural = ::std::option::Option::Some(::std::string::String::new());
627 }
628 self.name_plural.as_mut().unwrap()
629 }
630
631 pub fn take_name_plural(&mut self) -> ::std::string::String {
633 self.name_plural.take().unwrap_or_else(|| ::std::string::String::new())
634 }
635
636 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
637 let mut fields = ::std::vec::Vec::with_capacity(4);
638 let mut oneofs = ::std::vec::Vec::with_capacity(0);
639 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
640 "type",
641 |m: &InstrumentPiece| { &m.type_ },
642 |m: &mut InstrumentPiece| { &mut m.type_ },
643 ));
644 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
645 "id",
646 |m: &InstrumentPiece| { &m.id },
647 |m: &mut InstrumentPiece| { &mut m.id },
648 ));
649 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
650 "name",
651 |m: &InstrumentPiece| { &m.name },
652 |m: &mut InstrumentPiece| { &mut m.name },
653 ));
654 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
655 "name_plural",
656 |m: &InstrumentPiece| { &m.name_plural },
657 |m: &mut InstrumentPiece| { &mut m.name_plural },
658 ));
659 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<InstrumentPiece>(
660 "InstrumentPiece",
661 fields,
662 oneofs,
663 )
664 }
665}
666
667impl ::protobuf::Message for InstrumentPiece {
668 const NAME: &'static str = "InstrumentPiece";
669
670 fn is_initialized(&self) -> bool {
671 true
672 }
673
674 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
675 while let Some(tag) = is.read_raw_tag_or_eof()? {
676 match tag {
677 10 => {
678 self.type_ = ::std::option::Option::Some(is.read_string()?);
679 },
680 18 => {
681 self.id = ::std::option::Option::Some(is.read_string()?);
682 },
683 26 => {
684 self.name = ::std::option::Option::Some(is.read_string()?);
685 },
686 34 => {
687 self.name_plural = ::std::option::Option::Some(is.read_string()?);
688 },
689 tag => {
690 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
691 },
692 };
693 }
694 ::std::result::Result::Ok(())
695 }
696
697 #[allow(unused_variables)]
699 fn compute_size(&self) -> u64 {
700 let mut my_size = 0;
701 if let Some(v) = self.type_.as_ref() {
702 my_size += ::protobuf::rt::string_size(1, &v);
703 }
704 if let Some(v) = self.id.as_ref() {
705 my_size += ::protobuf::rt::string_size(2, &v);
706 }
707 if let Some(v) = self.name.as_ref() {
708 my_size += ::protobuf::rt::string_size(3, &v);
709 }
710 if let Some(v) = self.name_plural.as_ref() {
711 my_size += ::protobuf::rt::string_size(4, &v);
712 }
713 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
714 self.special_fields.cached_size().set(my_size as u32);
715 my_size
716 }
717
718 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
719 if let Some(v) = self.type_.as_ref() {
720 os.write_string(1, v)?;
721 }
722 if let Some(v) = self.id.as_ref() {
723 os.write_string(2, v)?;
724 }
725 if let Some(v) = self.name.as_ref() {
726 os.write_string(3, v)?;
727 }
728 if let Some(v) = self.name_plural.as_ref() {
729 os.write_string(4, v)?;
730 }
731 os.write_unknown_fields(self.special_fields.unknown_fields())?;
732 ::std::result::Result::Ok(())
733 }
734
735 fn special_fields(&self) -> &::protobuf::SpecialFields {
736 &self.special_fields
737 }
738
739 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
740 &mut self.special_fields
741 }
742
743 fn new() -> InstrumentPiece {
744 InstrumentPiece::new()
745 }
746
747 fn clear(&mut self) {
748 self.type_ = ::std::option::Option::None;
749 self.id = ::std::option::Option::None;
750 self.name = ::std::option::Option::None;
751 self.name_plural = ::std::option::Option::None;
752 self.special_fields.clear();
753 }
754
755 fn default_instance() -> &'static InstrumentPiece {
756 static instance: InstrumentPiece = InstrumentPiece {
757 type_: ::std::option::Option::None,
758 id: ::std::option::Option::None,
759 name: ::std::option::Option::None,
760 name_plural: ::std::option::Option::None,
761 special_fields: ::protobuf::SpecialFields::new(),
762 };
763 &instance
764 }
765}
766
767impl ::protobuf::MessageFull for InstrumentPiece {
768 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
769 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
770 descriptor.get(|| file_descriptor().message_by_package_relative_name("InstrumentPiece").unwrap()).clone()
771 }
772}
773
774impl ::std::fmt::Display for InstrumentPiece {
775 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
776 ::protobuf::text_format::fmt(self, f)
777 }
778}
779
780impl ::protobuf::reflect::ProtobufValue for InstrumentPiece {
781 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
782}
783
784#[derive(PartialEq,Clone,Default,Debug)]
786pub struct InstrumentRegister {
787 pub pitch_range_min: ::std::option::Option<i32>,
790 pub pitch_range_max: ::std::option::Option<i32>,
792 pub special_fields: ::protobuf::SpecialFields,
795}
796
797impl<'a> ::std::default::Default for &'a InstrumentRegister {
798 fn default() -> &'a InstrumentRegister {
799 <InstrumentRegister as ::protobuf::Message>::default_instance()
800 }
801}
802
803impl InstrumentRegister {
804 pub fn new() -> InstrumentRegister {
805 ::std::default::Default::default()
806 }
807
808 pub fn pitch_range_min(&self) -> i32 {
811 self.pitch_range_min.unwrap_or(0)
812 }
813
814 pub fn clear_pitch_range_min(&mut self) {
815 self.pitch_range_min = ::std::option::Option::None;
816 }
817
818 pub fn has_pitch_range_min(&self) -> bool {
819 self.pitch_range_min.is_some()
820 }
821
822 pub fn set_pitch_range_min(&mut self, v: i32) {
824 self.pitch_range_min = ::std::option::Option::Some(v);
825 }
826
827 pub fn pitch_range_max(&self) -> i32 {
830 self.pitch_range_max.unwrap_or(0)
831 }
832
833 pub fn clear_pitch_range_max(&mut self) {
834 self.pitch_range_max = ::std::option::Option::None;
835 }
836
837 pub fn has_pitch_range_max(&self) -> bool {
838 self.pitch_range_max.is_some()
839 }
840
841 pub fn set_pitch_range_max(&mut self, v: i32) {
843 self.pitch_range_max = ::std::option::Option::Some(v);
844 }
845
846 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
847 let mut fields = ::std::vec::Vec::with_capacity(2);
848 let mut oneofs = ::std::vec::Vec::with_capacity(0);
849 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
850 "pitch_range_min",
851 |m: &InstrumentRegister| { &m.pitch_range_min },
852 |m: &mut InstrumentRegister| { &mut m.pitch_range_min },
853 ));
854 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
855 "pitch_range_max",
856 |m: &InstrumentRegister| { &m.pitch_range_max },
857 |m: &mut InstrumentRegister| { &mut m.pitch_range_max },
858 ));
859 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<InstrumentRegister>(
860 "InstrumentRegister",
861 fields,
862 oneofs,
863 )
864 }
865}
866
867impl ::protobuf::Message for InstrumentRegister {
868 const NAME: &'static str = "InstrumentRegister";
869
870 fn is_initialized(&self) -> bool {
871 true
872 }
873
874 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
875 while let Some(tag) = is.read_raw_tag_or_eof()? {
876 match tag {
877 8 => {
878 self.pitch_range_min = ::std::option::Option::Some(is.read_int32()?);
879 },
880 16 => {
881 self.pitch_range_max = ::std::option::Option::Some(is.read_int32()?);
882 },
883 tag => {
884 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
885 },
886 };
887 }
888 ::std::result::Result::Ok(())
889 }
890
891 #[allow(unused_variables)]
893 fn compute_size(&self) -> u64 {
894 let mut my_size = 0;
895 if let Some(v) = self.pitch_range_min {
896 my_size += ::protobuf::rt::int32_size(1, v);
897 }
898 if let Some(v) = self.pitch_range_max {
899 my_size += ::protobuf::rt::int32_size(2, v);
900 }
901 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
902 self.special_fields.cached_size().set(my_size as u32);
903 my_size
904 }
905
906 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
907 if let Some(v) = self.pitch_range_min {
908 os.write_int32(1, v)?;
909 }
910 if let Some(v) = self.pitch_range_max {
911 os.write_int32(2, v)?;
912 }
913 os.write_unknown_fields(self.special_fields.unknown_fields())?;
914 ::std::result::Result::Ok(())
915 }
916
917 fn special_fields(&self) -> &::protobuf::SpecialFields {
918 &self.special_fields
919 }
920
921 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
922 &mut self.special_fields
923 }
924
925 fn new() -> InstrumentRegister {
926 InstrumentRegister::new()
927 }
928
929 fn clear(&mut self) {
930 self.pitch_range_min = ::std::option::Option::None;
931 self.pitch_range_max = ::std::option::Option::None;
932 self.special_fields.clear();
933 }
934
935 fn default_instance() -> &'static InstrumentRegister {
936 static instance: InstrumentRegister = InstrumentRegister {
937 pitch_range_min: ::std::option::Option::None,
938 pitch_range_max: ::std::option::Option::None,
939 special_fields: ::protobuf::SpecialFields::new(),
940 };
941 &instance
942 }
943}
944
945impl ::protobuf::MessageFull for InstrumentRegister {
946 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
947 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
948 descriptor.get(|| file_descriptor().message_by_package_relative_name("InstrumentRegister").unwrap()).clone()
949 }
950}
951
952impl ::std::fmt::Display for InstrumentRegister {
953 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
954 ::protobuf::text_format::fmt(self, f)
955 }
956}
957
958impl ::protobuf::reflect::ProtobufValue for InstrumentRegister {
959 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
960}
961
962#[derive(PartialEq,Clone,Default,Debug)]
964pub struct InstrumentDef {
965 pub flags: ::protobuf::MessageField<InstrumentFlags>,
968 pub size: ::std::option::Option<i32>,
970 pub value: ::std::option::Option<i32>,
972 pub material_size: ::std::option::Option<i32>,
974 pub pieces: ::std::vec::Vec<InstrumentPiece>,
976 pub pitch_range_min: ::std::option::Option<i32>,
978 pub pitch_range_max: ::std::option::Option<i32>,
980 pub volume_mb_min: ::std::option::Option<i32>,
982 pub volume_mb_max: ::std::option::Option<i32>,
984 pub sound_production: ::std::vec::Vec<::protobuf::EnumOrUnknown<SoundProductionType>>,
986 pub sound_production_parm1: ::std::vec::Vec<::std::string::String>,
988 pub sound_production_parm2: ::std::vec::Vec<::std::string::String>,
990 pub pitch_choice: ::std::vec::Vec<::protobuf::EnumOrUnknown<PitchChoiceType>>,
992 pub pitch_choice_parm1: ::std::vec::Vec<::std::string::String>,
994 pub pitch_choice_parm2: ::std::vec::Vec<::std::string::String>,
996 pub tuning: ::std::vec::Vec<::protobuf::EnumOrUnknown<TuningType>>,
998 pub tuning_parm: ::std::vec::Vec<::std::string::String>,
1000 pub registers: ::std::vec::Vec<InstrumentRegister>,
1002 pub description: ::std::option::Option<::std::string::String>,
1004 pub special_fields: ::protobuf::SpecialFields,
1007}
1008
1009impl<'a> ::std::default::Default for &'a InstrumentDef {
1010 fn default() -> &'a InstrumentDef {
1011 <InstrumentDef as ::protobuf::Message>::default_instance()
1012 }
1013}
1014
1015impl InstrumentDef {
1016 pub fn new() -> InstrumentDef {
1017 ::std::default::Default::default()
1018 }
1019
1020 pub fn size(&self) -> i32 {
1023 self.size.unwrap_or(0)
1024 }
1025
1026 pub fn clear_size(&mut self) {
1027 self.size = ::std::option::Option::None;
1028 }
1029
1030 pub fn has_size(&self) -> bool {
1031 self.size.is_some()
1032 }
1033
1034 pub fn set_size(&mut self, v: i32) {
1036 self.size = ::std::option::Option::Some(v);
1037 }
1038
1039 pub fn value(&self) -> i32 {
1042 self.value.unwrap_or(0)
1043 }
1044
1045 pub fn clear_value(&mut self) {
1046 self.value = ::std::option::Option::None;
1047 }
1048
1049 pub fn has_value(&self) -> bool {
1050 self.value.is_some()
1051 }
1052
1053 pub fn set_value(&mut self, v: i32) {
1055 self.value = ::std::option::Option::Some(v);
1056 }
1057
1058 pub fn material_size(&self) -> i32 {
1061 self.material_size.unwrap_or(0)
1062 }
1063
1064 pub fn clear_material_size(&mut self) {
1065 self.material_size = ::std::option::Option::None;
1066 }
1067
1068 pub fn has_material_size(&self) -> bool {
1069 self.material_size.is_some()
1070 }
1071
1072 pub fn set_material_size(&mut self, v: i32) {
1074 self.material_size = ::std::option::Option::Some(v);
1075 }
1076
1077 pub fn pitch_range_min(&self) -> i32 {
1080 self.pitch_range_min.unwrap_or(0)
1081 }
1082
1083 pub fn clear_pitch_range_min(&mut self) {
1084 self.pitch_range_min = ::std::option::Option::None;
1085 }
1086
1087 pub fn has_pitch_range_min(&self) -> bool {
1088 self.pitch_range_min.is_some()
1089 }
1090
1091 pub fn set_pitch_range_min(&mut self, v: i32) {
1093 self.pitch_range_min = ::std::option::Option::Some(v);
1094 }
1095
1096 pub fn pitch_range_max(&self) -> i32 {
1099 self.pitch_range_max.unwrap_or(0)
1100 }
1101
1102 pub fn clear_pitch_range_max(&mut self) {
1103 self.pitch_range_max = ::std::option::Option::None;
1104 }
1105
1106 pub fn has_pitch_range_max(&self) -> bool {
1107 self.pitch_range_max.is_some()
1108 }
1109
1110 pub fn set_pitch_range_max(&mut self, v: i32) {
1112 self.pitch_range_max = ::std::option::Option::Some(v);
1113 }
1114
1115 pub fn volume_mb_min(&self) -> i32 {
1118 self.volume_mb_min.unwrap_or(0)
1119 }
1120
1121 pub fn clear_volume_mb_min(&mut self) {
1122 self.volume_mb_min = ::std::option::Option::None;
1123 }
1124
1125 pub fn has_volume_mb_min(&self) -> bool {
1126 self.volume_mb_min.is_some()
1127 }
1128
1129 pub fn set_volume_mb_min(&mut self, v: i32) {
1131 self.volume_mb_min = ::std::option::Option::Some(v);
1132 }
1133
1134 pub fn volume_mb_max(&self) -> i32 {
1137 self.volume_mb_max.unwrap_or(0)
1138 }
1139
1140 pub fn clear_volume_mb_max(&mut self) {
1141 self.volume_mb_max = ::std::option::Option::None;
1142 }
1143
1144 pub fn has_volume_mb_max(&self) -> bool {
1145 self.volume_mb_max.is_some()
1146 }
1147
1148 pub fn set_volume_mb_max(&mut self, v: i32) {
1150 self.volume_mb_max = ::std::option::Option::Some(v);
1151 }
1152
1153 pub fn description(&self) -> &str {
1156 match self.description.as_ref() {
1157 Some(v) => v,
1158 None => "",
1159 }
1160 }
1161
1162 pub fn clear_description(&mut self) {
1163 self.description = ::std::option::Option::None;
1164 }
1165
1166 pub fn has_description(&self) -> bool {
1167 self.description.is_some()
1168 }
1169
1170 pub fn set_description(&mut self, v: ::std::string::String) {
1172 self.description = ::std::option::Option::Some(v);
1173 }
1174
1175 pub fn mut_description(&mut self) -> &mut ::std::string::String {
1178 if self.description.is_none() {
1179 self.description = ::std::option::Option::Some(::std::string::String::new());
1180 }
1181 self.description.as_mut().unwrap()
1182 }
1183
1184 pub fn take_description(&mut self) -> ::std::string::String {
1186 self.description.take().unwrap_or_else(|| ::std::string::String::new())
1187 }
1188
1189 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1190 let mut fields = ::std::vec::Vec::with_capacity(19);
1191 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1192 fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, InstrumentFlags>(
1193 "flags",
1194 |m: &InstrumentDef| { &m.flags },
1195 |m: &mut InstrumentDef| { &mut m.flags },
1196 ));
1197 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1198 "size",
1199 |m: &InstrumentDef| { &m.size },
1200 |m: &mut InstrumentDef| { &mut m.size },
1201 ));
1202 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1203 "value",
1204 |m: &InstrumentDef| { &m.value },
1205 |m: &mut InstrumentDef| { &mut m.value },
1206 ));
1207 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1208 "material_size",
1209 |m: &InstrumentDef| { &m.material_size },
1210 |m: &mut InstrumentDef| { &mut m.material_size },
1211 ));
1212 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1213 "pieces",
1214 |m: &InstrumentDef| { &m.pieces },
1215 |m: &mut InstrumentDef| { &mut m.pieces },
1216 ));
1217 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1218 "pitch_range_min",
1219 |m: &InstrumentDef| { &m.pitch_range_min },
1220 |m: &mut InstrumentDef| { &mut m.pitch_range_min },
1221 ));
1222 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1223 "pitch_range_max",
1224 |m: &InstrumentDef| { &m.pitch_range_max },
1225 |m: &mut InstrumentDef| { &mut m.pitch_range_max },
1226 ));
1227 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1228 "volume_mb_min",
1229 |m: &InstrumentDef| { &m.volume_mb_min },
1230 |m: &mut InstrumentDef| { &mut m.volume_mb_min },
1231 ));
1232 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1233 "volume_mb_max",
1234 |m: &InstrumentDef| { &m.volume_mb_max },
1235 |m: &mut InstrumentDef| { &mut m.volume_mb_max },
1236 ));
1237 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1238 "sound_production",
1239 |m: &InstrumentDef| { &m.sound_production },
1240 |m: &mut InstrumentDef| { &mut m.sound_production },
1241 ));
1242 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1243 "sound_production_parm1",
1244 |m: &InstrumentDef| { &m.sound_production_parm1 },
1245 |m: &mut InstrumentDef| { &mut m.sound_production_parm1 },
1246 ));
1247 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1248 "sound_production_parm2",
1249 |m: &InstrumentDef| { &m.sound_production_parm2 },
1250 |m: &mut InstrumentDef| { &mut m.sound_production_parm2 },
1251 ));
1252 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1253 "pitch_choice",
1254 |m: &InstrumentDef| { &m.pitch_choice },
1255 |m: &mut InstrumentDef| { &mut m.pitch_choice },
1256 ));
1257 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1258 "pitch_choice_parm1",
1259 |m: &InstrumentDef| { &m.pitch_choice_parm1 },
1260 |m: &mut InstrumentDef| { &mut m.pitch_choice_parm1 },
1261 ));
1262 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1263 "pitch_choice_parm2",
1264 |m: &InstrumentDef| { &m.pitch_choice_parm2 },
1265 |m: &mut InstrumentDef| { &mut m.pitch_choice_parm2 },
1266 ));
1267 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1268 "tuning",
1269 |m: &InstrumentDef| { &m.tuning },
1270 |m: &mut InstrumentDef| { &mut m.tuning },
1271 ));
1272 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1273 "tuning_parm",
1274 |m: &InstrumentDef| { &m.tuning_parm },
1275 |m: &mut InstrumentDef| { &mut m.tuning_parm },
1276 ));
1277 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1278 "registers",
1279 |m: &InstrumentDef| { &m.registers },
1280 |m: &mut InstrumentDef| { &mut m.registers },
1281 ));
1282 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1283 "description",
1284 |m: &InstrumentDef| { &m.description },
1285 |m: &mut InstrumentDef| { &mut m.description },
1286 ));
1287 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<InstrumentDef>(
1288 "InstrumentDef",
1289 fields,
1290 oneofs,
1291 )
1292 }
1293}
1294
1295impl ::protobuf::Message for InstrumentDef {
1296 const NAME: &'static str = "InstrumentDef";
1297
1298 fn is_initialized(&self) -> bool {
1299 true
1300 }
1301
1302 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1303 while let Some(tag) = is.read_raw_tag_or_eof()? {
1304 match tag {
1305 10 => {
1306 ::protobuf::rt::read_singular_message_into_field(is, &mut self.flags)?;
1307 },
1308 16 => {
1309 self.size = ::std::option::Option::Some(is.read_int32()?);
1310 },
1311 24 => {
1312 self.value = ::std::option::Option::Some(is.read_int32()?);
1313 },
1314 32 => {
1315 self.material_size = ::std::option::Option::Some(is.read_int32()?);
1316 },
1317 42 => {
1318 self.pieces.push(is.read_message()?);
1319 },
1320 48 => {
1321 self.pitch_range_min = ::std::option::Option::Some(is.read_int32()?);
1322 },
1323 56 => {
1324 self.pitch_range_max = ::std::option::Option::Some(is.read_int32()?);
1325 },
1326 64 => {
1327 self.volume_mb_min = ::std::option::Option::Some(is.read_int32()?);
1328 },
1329 72 => {
1330 self.volume_mb_max = ::std::option::Option::Some(is.read_int32()?);
1331 },
1332 80 => {
1333 self.sound_production.push(is.read_enum_or_unknown()?);
1334 },
1335 82 => {
1336 ::protobuf::rt::read_repeated_packed_enum_or_unknown_into(is, &mut self.sound_production)?
1337 },
1338 90 => {
1339 self.sound_production_parm1.push(is.read_string()?);
1340 },
1341 98 => {
1342 self.sound_production_parm2.push(is.read_string()?);
1343 },
1344 104 => {
1345 self.pitch_choice.push(is.read_enum_or_unknown()?);
1346 },
1347 106 => {
1348 ::protobuf::rt::read_repeated_packed_enum_or_unknown_into(is, &mut self.pitch_choice)?
1349 },
1350 114 => {
1351 self.pitch_choice_parm1.push(is.read_string()?);
1352 },
1353 122 => {
1354 self.pitch_choice_parm2.push(is.read_string()?);
1355 },
1356 128 => {
1357 self.tuning.push(is.read_enum_or_unknown()?);
1358 },
1359 130 => {
1360 ::protobuf::rt::read_repeated_packed_enum_or_unknown_into(is, &mut self.tuning)?
1361 },
1362 138 => {
1363 self.tuning_parm.push(is.read_string()?);
1364 },
1365 146 => {
1366 self.registers.push(is.read_message()?);
1367 },
1368 154 => {
1369 self.description = ::std::option::Option::Some(is.read_string()?);
1370 },
1371 tag => {
1372 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1373 },
1374 };
1375 }
1376 ::std::result::Result::Ok(())
1377 }
1378
1379 #[allow(unused_variables)]
1381 fn compute_size(&self) -> u64 {
1382 let mut my_size = 0;
1383 if let Some(v) = self.flags.as_ref() {
1384 let len = v.compute_size();
1385 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1386 }
1387 if let Some(v) = self.size {
1388 my_size += ::protobuf::rt::int32_size(2, v);
1389 }
1390 if let Some(v) = self.value {
1391 my_size += ::protobuf::rt::int32_size(3, v);
1392 }
1393 if let Some(v) = self.material_size {
1394 my_size += ::protobuf::rt::int32_size(4, v);
1395 }
1396 for value in &self.pieces {
1397 let len = value.compute_size();
1398 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1399 };
1400 if let Some(v) = self.pitch_range_min {
1401 my_size += ::protobuf::rt::int32_size(6, v);
1402 }
1403 if let Some(v) = self.pitch_range_max {
1404 my_size += ::protobuf::rt::int32_size(7, v);
1405 }
1406 if let Some(v) = self.volume_mb_min {
1407 my_size += ::protobuf::rt::int32_size(8, v);
1408 }
1409 if let Some(v) = self.volume_mb_max {
1410 my_size += ::protobuf::rt::int32_size(9, v);
1411 }
1412 for value in &self.sound_production {
1413 my_size += ::protobuf::rt::int32_size(10, value.value());
1414 };
1415 for value in &self.sound_production_parm1 {
1416 my_size += ::protobuf::rt::string_size(11, &value);
1417 };
1418 for value in &self.sound_production_parm2 {
1419 my_size += ::protobuf::rt::string_size(12, &value);
1420 };
1421 for value in &self.pitch_choice {
1422 my_size += ::protobuf::rt::int32_size(13, value.value());
1423 };
1424 for value in &self.pitch_choice_parm1 {
1425 my_size += ::protobuf::rt::string_size(14, &value);
1426 };
1427 for value in &self.pitch_choice_parm2 {
1428 my_size += ::protobuf::rt::string_size(15, &value);
1429 };
1430 for value in &self.tuning {
1431 my_size += ::protobuf::rt::int32_size(16, value.value());
1432 };
1433 for value in &self.tuning_parm {
1434 my_size += ::protobuf::rt::string_size(17, &value);
1435 };
1436 for value in &self.registers {
1437 let len = value.compute_size();
1438 my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1439 };
1440 if let Some(v) = self.description.as_ref() {
1441 my_size += ::protobuf::rt::string_size(19, &v);
1442 }
1443 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1444 self.special_fields.cached_size().set(my_size as u32);
1445 my_size
1446 }
1447
1448 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1449 if let Some(v) = self.flags.as_ref() {
1450 ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
1451 }
1452 if let Some(v) = self.size {
1453 os.write_int32(2, v)?;
1454 }
1455 if let Some(v) = self.value {
1456 os.write_int32(3, v)?;
1457 }
1458 if let Some(v) = self.material_size {
1459 os.write_int32(4, v)?;
1460 }
1461 for v in &self.pieces {
1462 ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
1463 };
1464 if let Some(v) = self.pitch_range_min {
1465 os.write_int32(6, v)?;
1466 }
1467 if let Some(v) = self.pitch_range_max {
1468 os.write_int32(7, v)?;
1469 }
1470 if let Some(v) = self.volume_mb_min {
1471 os.write_int32(8, v)?;
1472 }
1473 if let Some(v) = self.volume_mb_max {
1474 os.write_int32(9, v)?;
1475 }
1476 for v in &self.sound_production {
1477 os.write_enum(10, ::protobuf::EnumOrUnknown::value(v))?;
1478 };
1479 for v in &self.sound_production_parm1 {
1480 os.write_string(11, &v)?;
1481 };
1482 for v in &self.sound_production_parm2 {
1483 os.write_string(12, &v)?;
1484 };
1485 for v in &self.pitch_choice {
1486 os.write_enum(13, ::protobuf::EnumOrUnknown::value(v))?;
1487 };
1488 for v in &self.pitch_choice_parm1 {
1489 os.write_string(14, &v)?;
1490 };
1491 for v in &self.pitch_choice_parm2 {
1492 os.write_string(15, &v)?;
1493 };
1494 for v in &self.tuning {
1495 os.write_enum(16, ::protobuf::EnumOrUnknown::value(v))?;
1496 };
1497 for v in &self.tuning_parm {
1498 os.write_string(17, &v)?;
1499 };
1500 for v in &self.registers {
1501 ::protobuf::rt::write_message_field_with_cached_size(18, v, os)?;
1502 };
1503 if let Some(v) = self.description.as_ref() {
1504 os.write_string(19, v)?;
1505 }
1506 os.write_unknown_fields(self.special_fields.unknown_fields())?;
1507 ::std::result::Result::Ok(())
1508 }
1509
1510 fn special_fields(&self) -> &::protobuf::SpecialFields {
1511 &self.special_fields
1512 }
1513
1514 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1515 &mut self.special_fields
1516 }
1517
1518 fn new() -> InstrumentDef {
1519 InstrumentDef::new()
1520 }
1521
1522 fn clear(&mut self) {
1523 self.flags.clear();
1524 self.size = ::std::option::Option::None;
1525 self.value = ::std::option::Option::None;
1526 self.material_size = ::std::option::Option::None;
1527 self.pieces.clear();
1528 self.pitch_range_min = ::std::option::Option::None;
1529 self.pitch_range_max = ::std::option::Option::None;
1530 self.volume_mb_min = ::std::option::Option::None;
1531 self.volume_mb_max = ::std::option::Option::None;
1532 self.sound_production.clear();
1533 self.sound_production_parm1.clear();
1534 self.sound_production_parm2.clear();
1535 self.pitch_choice.clear();
1536 self.pitch_choice_parm1.clear();
1537 self.pitch_choice_parm2.clear();
1538 self.tuning.clear();
1539 self.tuning_parm.clear();
1540 self.registers.clear();
1541 self.description = ::std::option::Option::None;
1542 self.special_fields.clear();
1543 }
1544
1545 fn default_instance() -> &'static InstrumentDef {
1546 static instance: InstrumentDef = InstrumentDef {
1547 flags: ::protobuf::MessageField::none(),
1548 size: ::std::option::Option::None,
1549 value: ::std::option::Option::None,
1550 material_size: ::std::option::Option::None,
1551 pieces: ::std::vec::Vec::new(),
1552 pitch_range_min: ::std::option::Option::None,
1553 pitch_range_max: ::std::option::Option::None,
1554 volume_mb_min: ::std::option::Option::None,
1555 volume_mb_max: ::std::option::Option::None,
1556 sound_production: ::std::vec::Vec::new(),
1557 sound_production_parm1: ::std::vec::Vec::new(),
1558 sound_production_parm2: ::std::vec::Vec::new(),
1559 pitch_choice: ::std::vec::Vec::new(),
1560 pitch_choice_parm1: ::std::vec::Vec::new(),
1561 pitch_choice_parm2: ::std::vec::Vec::new(),
1562 tuning: ::std::vec::Vec::new(),
1563 tuning_parm: ::std::vec::Vec::new(),
1564 registers: ::std::vec::Vec::new(),
1565 description: ::std::option::Option::None,
1566 special_fields: ::protobuf::SpecialFields::new(),
1567 };
1568 &instance
1569 }
1570}
1571
1572impl ::protobuf::MessageFull for InstrumentDef {
1573 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1574 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1575 descriptor.get(|| file_descriptor().message_by_package_relative_name("InstrumentDef").unwrap()).clone()
1576 }
1577}
1578
1579impl ::std::fmt::Display for InstrumentDef {
1580 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1581 ::protobuf::text_format::fmt(self, f)
1582 }
1583}
1584
1585impl ::protobuf::reflect::ProtobufValue for InstrumentDef {
1586 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1587}
1588
1589#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
1590pub enum PitchChoiceType {
1592 MEMBRANE_POSITION = 0,
1594 SUBPART_CHOICE = 1,
1596 KEYBOARD = 2,
1598 STOPPING_FRET = 3,
1600 STOPPING_AGAINST_BODY = 4,
1602 STOPPING_HOLE = 5,
1604 STOPPING_HOLE_KEY = 6,
1606 SLIDE = 7,
1608 HARMONIC_SERIES = 8,
1610 VALVE_ROUTES_AIR = 9,
1612 BP_IN_BELL = 10,
1614 FOOT_PEDALS = 11,
1616}
1617
1618impl ::protobuf::Enum for PitchChoiceType {
1619 const NAME: &'static str = "PitchChoiceType";
1620
1621 fn value(&self) -> i32 {
1622 *self as i32
1623 }
1624
1625 fn from_i32(value: i32) -> ::std::option::Option<PitchChoiceType> {
1626 match value {
1627 0 => ::std::option::Option::Some(PitchChoiceType::MEMBRANE_POSITION),
1628 1 => ::std::option::Option::Some(PitchChoiceType::SUBPART_CHOICE),
1629 2 => ::std::option::Option::Some(PitchChoiceType::KEYBOARD),
1630 3 => ::std::option::Option::Some(PitchChoiceType::STOPPING_FRET),
1631 4 => ::std::option::Option::Some(PitchChoiceType::STOPPING_AGAINST_BODY),
1632 5 => ::std::option::Option::Some(PitchChoiceType::STOPPING_HOLE),
1633 6 => ::std::option::Option::Some(PitchChoiceType::STOPPING_HOLE_KEY),
1634 7 => ::std::option::Option::Some(PitchChoiceType::SLIDE),
1635 8 => ::std::option::Option::Some(PitchChoiceType::HARMONIC_SERIES),
1636 9 => ::std::option::Option::Some(PitchChoiceType::VALVE_ROUTES_AIR),
1637 10 => ::std::option::Option::Some(PitchChoiceType::BP_IN_BELL),
1638 11 => ::std::option::Option::Some(PitchChoiceType::FOOT_PEDALS),
1639 _ => ::std::option::Option::None
1640 }
1641 }
1642
1643 fn from_str(str: &str) -> ::std::option::Option<PitchChoiceType> {
1644 match str {
1645 "MEMBRANE_POSITION" => ::std::option::Option::Some(PitchChoiceType::MEMBRANE_POSITION),
1646 "SUBPART_CHOICE" => ::std::option::Option::Some(PitchChoiceType::SUBPART_CHOICE),
1647 "KEYBOARD" => ::std::option::Option::Some(PitchChoiceType::KEYBOARD),
1648 "STOPPING_FRET" => ::std::option::Option::Some(PitchChoiceType::STOPPING_FRET),
1649 "STOPPING_AGAINST_BODY" => ::std::option::Option::Some(PitchChoiceType::STOPPING_AGAINST_BODY),
1650 "STOPPING_HOLE" => ::std::option::Option::Some(PitchChoiceType::STOPPING_HOLE),
1651 "STOPPING_HOLE_KEY" => ::std::option::Option::Some(PitchChoiceType::STOPPING_HOLE_KEY),
1652 "SLIDE" => ::std::option::Option::Some(PitchChoiceType::SLIDE),
1653 "HARMONIC_SERIES" => ::std::option::Option::Some(PitchChoiceType::HARMONIC_SERIES),
1654 "VALVE_ROUTES_AIR" => ::std::option::Option::Some(PitchChoiceType::VALVE_ROUTES_AIR),
1655 "BP_IN_BELL" => ::std::option::Option::Some(PitchChoiceType::BP_IN_BELL),
1656 "FOOT_PEDALS" => ::std::option::Option::Some(PitchChoiceType::FOOT_PEDALS),
1657 _ => ::std::option::Option::None
1658 }
1659 }
1660
1661 const VALUES: &'static [PitchChoiceType] = &[
1662 PitchChoiceType::MEMBRANE_POSITION,
1663 PitchChoiceType::SUBPART_CHOICE,
1664 PitchChoiceType::KEYBOARD,
1665 PitchChoiceType::STOPPING_FRET,
1666 PitchChoiceType::STOPPING_AGAINST_BODY,
1667 PitchChoiceType::STOPPING_HOLE,
1668 PitchChoiceType::STOPPING_HOLE_KEY,
1669 PitchChoiceType::SLIDE,
1670 PitchChoiceType::HARMONIC_SERIES,
1671 PitchChoiceType::VALVE_ROUTES_AIR,
1672 PitchChoiceType::BP_IN_BELL,
1673 PitchChoiceType::FOOT_PEDALS,
1674 ];
1675}
1676
1677impl ::protobuf::EnumFull for PitchChoiceType {
1678 fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
1679 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
1680 descriptor.get(|| file_descriptor().enum_by_package_relative_name("PitchChoiceType").unwrap()).clone()
1681 }
1682
1683 fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
1684 let index = *self as usize;
1685 Self::enum_descriptor().value_by_index(index)
1686 }
1687}
1688
1689impl ::std::default::Default for PitchChoiceType {
1690 fn default() -> Self {
1691 PitchChoiceType::MEMBRANE_POSITION
1692 }
1693}
1694
1695impl PitchChoiceType {
1696 fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
1697 ::protobuf::reflect::GeneratedEnumDescriptorData::new::<PitchChoiceType>("PitchChoiceType")
1698 }
1699}
1700
1701#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
1702pub enum SoundProductionType {
1704 PLUCKED_BY_BP = 0,
1706 PLUCKED = 1,
1708 BOWED = 2,
1710 STRUCK_BY_BP = 3,
1712 STRUCK = 4,
1714 VIBRATE_BP_AGAINST_OPENING = 5,
1716 BLOW_AGAINST_FIPPLE = 6,
1718 BLOW_OVER_OPENING_SIDE = 7,
1720 BLOW_OVER_OPENING_END = 8,
1722 BLOW_OVER_SINGLE_REED = 9,
1724 BLOW_OVER_DOUBLE_REED = 10,
1726 BLOW_OVER_FREE_REED = 11,
1728 STRUCK_TOGETHER = 12,
1730 SHAKEN = 13,
1732 SCRAPED = 14,
1734 FRICTION = 15,
1736 RESONATOR = 16,
1738 BAG_OVER_REED = 17,
1740 AIR_OVER_REED = 18,
1742 AIR_OVER_FREE_REED = 19,
1744 AIR_AGAINST_FIPPLE = 20,
1746}
1747
1748impl ::protobuf::Enum for SoundProductionType {
1749 const NAME: &'static str = "SoundProductionType";
1750
1751 fn value(&self) -> i32 {
1752 *self as i32
1753 }
1754
1755 fn from_i32(value: i32) -> ::std::option::Option<SoundProductionType> {
1756 match value {
1757 0 => ::std::option::Option::Some(SoundProductionType::PLUCKED_BY_BP),
1758 1 => ::std::option::Option::Some(SoundProductionType::PLUCKED),
1759 2 => ::std::option::Option::Some(SoundProductionType::BOWED),
1760 3 => ::std::option::Option::Some(SoundProductionType::STRUCK_BY_BP),
1761 4 => ::std::option::Option::Some(SoundProductionType::STRUCK),
1762 5 => ::std::option::Option::Some(SoundProductionType::VIBRATE_BP_AGAINST_OPENING),
1763 6 => ::std::option::Option::Some(SoundProductionType::BLOW_AGAINST_FIPPLE),
1764 7 => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_OPENING_SIDE),
1765 8 => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_OPENING_END),
1766 9 => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_SINGLE_REED),
1767 10 => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_DOUBLE_REED),
1768 11 => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_FREE_REED),
1769 12 => ::std::option::Option::Some(SoundProductionType::STRUCK_TOGETHER),
1770 13 => ::std::option::Option::Some(SoundProductionType::SHAKEN),
1771 14 => ::std::option::Option::Some(SoundProductionType::SCRAPED),
1772 15 => ::std::option::Option::Some(SoundProductionType::FRICTION),
1773 16 => ::std::option::Option::Some(SoundProductionType::RESONATOR),
1774 17 => ::std::option::Option::Some(SoundProductionType::BAG_OVER_REED),
1775 18 => ::std::option::Option::Some(SoundProductionType::AIR_OVER_REED),
1776 19 => ::std::option::Option::Some(SoundProductionType::AIR_OVER_FREE_REED),
1777 20 => ::std::option::Option::Some(SoundProductionType::AIR_AGAINST_FIPPLE),
1778 _ => ::std::option::Option::None
1779 }
1780 }
1781
1782 fn from_str(str: &str) -> ::std::option::Option<SoundProductionType> {
1783 match str {
1784 "PLUCKED_BY_BP" => ::std::option::Option::Some(SoundProductionType::PLUCKED_BY_BP),
1785 "PLUCKED" => ::std::option::Option::Some(SoundProductionType::PLUCKED),
1786 "BOWED" => ::std::option::Option::Some(SoundProductionType::BOWED),
1787 "STRUCK_BY_BP" => ::std::option::Option::Some(SoundProductionType::STRUCK_BY_BP),
1788 "STRUCK" => ::std::option::Option::Some(SoundProductionType::STRUCK),
1789 "VIBRATE_BP_AGAINST_OPENING" => ::std::option::Option::Some(SoundProductionType::VIBRATE_BP_AGAINST_OPENING),
1790 "BLOW_AGAINST_FIPPLE" => ::std::option::Option::Some(SoundProductionType::BLOW_AGAINST_FIPPLE),
1791 "BLOW_OVER_OPENING_SIDE" => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_OPENING_SIDE),
1792 "BLOW_OVER_OPENING_END" => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_OPENING_END),
1793 "BLOW_OVER_SINGLE_REED" => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_SINGLE_REED),
1794 "BLOW_OVER_DOUBLE_REED" => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_DOUBLE_REED),
1795 "BLOW_OVER_FREE_REED" => ::std::option::Option::Some(SoundProductionType::BLOW_OVER_FREE_REED),
1796 "STRUCK_TOGETHER" => ::std::option::Option::Some(SoundProductionType::STRUCK_TOGETHER),
1797 "SHAKEN" => ::std::option::Option::Some(SoundProductionType::SHAKEN),
1798 "SCRAPED" => ::std::option::Option::Some(SoundProductionType::SCRAPED),
1799 "FRICTION" => ::std::option::Option::Some(SoundProductionType::FRICTION),
1800 "RESONATOR" => ::std::option::Option::Some(SoundProductionType::RESONATOR),
1801 "BAG_OVER_REED" => ::std::option::Option::Some(SoundProductionType::BAG_OVER_REED),
1802 "AIR_OVER_REED" => ::std::option::Option::Some(SoundProductionType::AIR_OVER_REED),
1803 "AIR_OVER_FREE_REED" => ::std::option::Option::Some(SoundProductionType::AIR_OVER_FREE_REED),
1804 "AIR_AGAINST_FIPPLE" => ::std::option::Option::Some(SoundProductionType::AIR_AGAINST_FIPPLE),
1805 _ => ::std::option::Option::None
1806 }
1807 }
1808
1809 const VALUES: &'static [SoundProductionType] = &[
1810 SoundProductionType::PLUCKED_BY_BP,
1811 SoundProductionType::PLUCKED,
1812 SoundProductionType::BOWED,
1813 SoundProductionType::STRUCK_BY_BP,
1814 SoundProductionType::STRUCK,
1815 SoundProductionType::VIBRATE_BP_AGAINST_OPENING,
1816 SoundProductionType::BLOW_AGAINST_FIPPLE,
1817 SoundProductionType::BLOW_OVER_OPENING_SIDE,
1818 SoundProductionType::BLOW_OVER_OPENING_END,
1819 SoundProductionType::BLOW_OVER_SINGLE_REED,
1820 SoundProductionType::BLOW_OVER_DOUBLE_REED,
1821 SoundProductionType::BLOW_OVER_FREE_REED,
1822 SoundProductionType::STRUCK_TOGETHER,
1823 SoundProductionType::SHAKEN,
1824 SoundProductionType::SCRAPED,
1825 SoundProductionType::FRICTION,
1826 SoundProductionType::RESONATOR,
1827 SoundProductionType::BAG_OVER_REED,
1828 SoundProductionType::AIR_OVER_REED,
1829 SoundProductionType::AIR_OVER_FREE_REED,
1830 SoundProductionType::AIR_AGAINST_FIPPLE,
1831 ];
1832}
1833
1834impl ::protobuf::EnumFull for SoundProductionType {
1835 fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
1836 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
1837 descriptor.get(|| file_descriptor().enum_by_package_relative_name("SoundProductionType").unwrap()).clone()
1838 }
1839
1840 fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
1841 let index = *self as usize;
1842 Self::enum_descriptor().value_by_index(index)
1843 }
1844}
1845
1846impl ::std::default::Default for SoundProductionType {
1847 fn default() -> Self {
1848 SoundProductionType::PLUCKED_BY_BP
1849 }
1850}
1851
1852impl SoundProductionType {
1853 fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
1854 ::protobuf::reflect::GeneratedEnumDescriptorData::new::<SoundProductionType>("SoundProductionType")
1855 }
1856}
1857
1858#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
1859pub enum TuningType {
1861 PEGS = 0,
1863 ADJUSTABLE_BRIDGES = 1,
1865 CROOKS = 2,
1867 TIGHTENING = 3,
1869 LEVERS = 4,
1871}
1872
1873impl ::protobuf::Enum for TuningType {
1874 const NAME: &'static str = "TuningType";
1875
1876 fn value(&self) -> i32 {
1877 *self as i32
1878 }
1879
1880 fn from_i32(value: i32) -> ::std::option::Option<TuningType> {
1881 match value {
1882 0 => ::std::option::Option::Some(TuningType::PEGS),
1883 1 => ::std::option::Option::Some(TuningType::ADJUSTABLE_BRIDGES),
1884 2 => ::std::option::Option::Some(TuningType::CROOKS),
1885 3 => ::std::option::Option::Some(TuningType::TIGHTENING),
1886 4 => ::std::option::Option::Some(TuningType::LEVERS),
1887 _ => ::std::option::Option::None
1888 }
1889 }
1890
1891 fn from_str(str: &str) -> ::std::option::Option<TuningType> {
1892 match str {
1893 "PEGS" => ::std::option::Option::Some(TuningType::PEGS),
1894 "ADJUSTABLE_BRIDGES" => ::std::option::Option::Some(TuningType::ADJUSTABLE_BRIDGES),
1895 "CROOKS" => ::std::option::Option::Some(TuningType::CROOKS),
1896 "TIGHTENING" => ::std::option::Option::Some(TuningType::TIGHTENING),
1897 "LEVERS" => ::std::option::Option::Some(TuningType::LEVERS),
1898 _ => ::std::option::Option::None
1899 }
1900 }
1901
1902 const VALUES: &'static [TuningType] = &[
1903 TuningType::PEGS,
1904 TuningType::ADJUSTABLE_BRIDGES,
1905 TuningType::CROOKS,
1906 TuningType::TIGHTENING,
1907 TuningType::LEVERS,
1908 ];
1909}
1910
1911impl ::protobuf::EnumFull for TuningType {
1912 fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
1913 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
1914 descriptor.get(|| file_descriptor().enum_by_package_relative_name("TuningType").unwrap()).clone()
1915 }
1916
1917 fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
1918 let index = *self as usize;
1919 Self::enum_descriptor().value_by_index(index)
1920 }
1921}
1922
1923impl ::std::default::Default for TuningType {
1924 fn default() -> Self {
1925 TuningType::PEGS
1926 }
1927}
1928
1929impl TuningType {
1930 fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
1931 ::protobuf::reflect::GeneratedEnumDescriptorData::new::<TuningType>("TuningType")
1932 }
1933}
1934
1935static file_descriptor_proto_data: &'static [u8] = b"\
1936 \n\x17ItemdefInstrument.proto\x12\x11ItemdefInstrument\"\xb5\x02\n\x0fIn\
1937 strumentFlags\x12)\n\x10indefinite_pitch\x18\x01\x20\x01(\x08R\x0findefi\
1938 nitePitch\x12,\n\x12placed_as_building\x18\x02\x20\x01(\x08R\x10placedAs\
1939 Building\x12\x1b\n\tmetal_mat\x18\x03\x20\x01(\x08R\x08metalMat\x12\x1b\
1940 \n\tstone_mat\x18\x04\x20\x01(\x08R\x08stoneMat\x12\x19\n\x08wood_mat\
1941 \x18\x05\x20\x01(\x08R\x07woodMat\x12\x1b\n\tglass_mat\x18\x06\x20\x01(\
1942 \x08R\x08glassMat\x12\x1f\n\x0bceramic_mat\x18\x07\x20\x01(\x08R\ncerami\
1943 cMat\x12\x1b\n\tshell_mat\x18\x08\x20\x01(\x08R\x08shellMat\x12\x19\n\
1944 \x08bone_mat\x18\t\x20\x01(\x08R\x07boneMat\"j\n\x0fInstrumentPiece\x12\
1945 \x12\n\x04type\x18\x01\x20\x01(\tR\x04type\x12\x0e\n\x02id\x18\x02\x20\
1946 \x01(\tR\x02id\x12\x12\n\x04name\x18\x03\x20\x01(\tR\x04name\x12\x1f\n\
1947 \x0bname_plural\x18\x04\x20\x01(\tR\nnamePlural\"d\n\x12InstrumentRegist\
1948 er\x12&\n\x0fpitch_range_min\x18\x01\x20\x01(\x05R\rpitchRangeMin\x12&\n\
1949 \x0fpitch_range_max\x18\x02\x20\x01(\x05R\rpitchRangeMax\"\x8d\x07\n\rIn\
1950 strumentDef\x128\n\x05flags\x18\x01\x20\x01(\x0b2\".ItemdefInstrument.In\
1951 strumentFlagsR\x05flags\x12\x12\n\x04size\x18\x02\x20\x01(\x05R\x04size\
1952 \x12\x14\n\x05value\x18\x03\x20\x01(\x05R\x05value\x12#\n\rmaterial_size\
1953 \x18\x04\x20\x01(\x05R\x0cmaterialSize\x12:\n\x06pieces\x18\x05\x20\x03(\
1954 \x0b2\".ItemdefInstrument.InstrumentPieceR\x06pieces\x12&\n\x0fpitch_ran\
1955 ge_min\x18\x06\x20\x01(\x05R\rpitchRangeMin\x12&\n\x0fpitch_range_max\
1956 \x18\x07\x20\x01(\x05R\rpitchRangeMax\x12\"\n\rvolume_mb_min\x18\x08\x20\
1957 \x01(\x05R\x0bvolumeMbMin\x12\"\n\rvolume_mb_max\x18\t\x20\x01(\x05R\x0b\
1958 volumeMbMax\x12Q\n\x10sound_production\x18\n\x20\x03(\x0e2&.ItemdefInstr\
1959 ument.SoundProductionTypeR\x0fsoundProduction\x124\n\x16sound_production\
1960 _parm1\x18\x0b\x20\x03(\tR\x14soundProductionParm1\x124\n\x16sound_produ\
1961 ction_parm2\x18\x0c\x20\x03(\tR\x14soundProductionParm2\x12E\n\x0cpitch_\
1962 choice\x18\r\x20\x03(\x0e2\".ItemdefInstrument.PitchChoiceTypeR\x0bpitch\
1963 Choice\x12,\n\x12pitch_choice_parm1\x18\x0e\x20\x03(\tR\x10pitchChoicePa\
1964 rm1\x12,\n\x12pitch_choice_parm2\x18\x0f\x20\x03(\tR\x10pitchChoiceParm2\
1965 \x125\n\x06tuning\x18\x10\x20\x03(\x0e2\x1d.ItemdefInstrument.TuningType\
1966 R\x06tuning\x12\x1f\n\x0btuning_parm\x18\x11\x20\x03(\tR\ntuningParm\x12\
1967 C\n\tregisters\x18\x12\x20\x03(\x0b2%.ItemdefInstrument.InstrumentRegist\
1968 erR\tregisters\x12\x20\n\x0bdescription\x18\x13\x20\x01(\tR\x0bdescripti\
1969 on*\xf9\x01\n\x0fPitchChoiceType\x12\x15\n\x11MEMBRANE_POSITION\x10\0\
1970 \x12\x12\n\x0eSUBPART_CHOICE\x10\x01\x12\x0c\n\x08KEYBOARD\x10\x02\x12\
1971 \x11\n\rSTOPPING_FRET\x10\x03\x12\x19\n\x15STOPPING_AGAINST_BODY\x10\x04\
1972 \x12\x11\n\rSTOPPING_HOLE\x10\x05\x12\x15\n\x11STOPPING_HOLE_KEY\x10\x06\
1973 \x12\t\n\x05SLIDE\x10\x07\x12\x13\n\x0fHARMONIC_SERIES\x10\x08\x12\x14\n\
1974 \x10VALVE_ROUTES_AIR\x10\t\x12\x0e\n\nBP_IN_BELL\x10\n\x12\x0f\n\x0bFOOT\
1975 _PEDALS\x10\x0b*\xbe\x03\n\x13SoundProductionType\x12\x11\n\rPLUCKED_BY_\
1976 BP\x10\0\x12\x0b\n\x07PLUCKED\x10\x01\x12\t\n\x05BOWED\x10\x02\x12\x10\n\
1977 \x0cSTRUCK_BY_BP\x10\x03\x12\n\n\x06STRUCK\x10\x04\x12\x1e\n\x1aVIBRATE_\
1978 BP_AGAINST_OPENING\x10\x05\x12\x17\n\x13BLOW_AGAINST_FIPPLE\x10\x06\x12\
1979 \x1a\n\x16BLOW_OVER_OPENING_SIDE\x10\x07\x12\x19\n\x15BLOW_OVER_OPENING_\
1980 END\x10\x08\x12\x19\n\x15BLOW_OVER_SINGLE_REED\x10\t\x12\x19\n\x15BLOW_O\
1981 VER_DOUBLE_REED\x10\n\x12\x17\n\x13BLOW_OVER_FREE_REED\x10\x0b\x12\x13\n\
1982 \x0fSTRUCK_TOGETHER\x10\x0c\x12\n\n\x06SHAKEN\x10\r\x12\x0b\n\x07SCRAPED\
1983 \x10\x0e\x12\x0c\n\x08FRICTION\x10\x0f\x12\r\n\tRESONATOR\x10\x10\x12\
1984 \x11\n\rBAG_OVER_REED\x10\x11\x12\x11\n\rAIR_OVER_REED\x10\x12\x12\x16\n\
1985 \x12AIR_OVER_FREE_REED\x10\x13\x12\x16\n\x12AIR_AGAINST_FIPPLE\x10\x14*V\
1986 \n\nTuningType\x12\x08\n\x04PEGS\x10\0\x12\x16\n\x12ADJUSTABLE_BRIDGES\
1987 \x10\x01\x12\n\n\x06CROOKS\x10\x02\x12\x0e\n\nTIGHTENING\x10\x03\x12\n\n\
1988 \x06LEVERS\x10\x04B\x02H\x03b\x06proto2\
1989";
1990
1991fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1993 static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
1994 file_descriptor_proto_lazy.get(|| {
1995 ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1996 })
1997}
1998
1999pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
2001 static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
2002 static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
2003 file_descriptor.get(|| {
2004 let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
2005 let mut deps = ::std::vec::Vec::with_capacity(0);
2006 let mut messages = ::std::vec::Vec::with_capacity(4);
2007 messages.push(InstrumentFlags::generated_message_descriptor_data());
2008 messages.push(InstrumentPiece::generated_message_descriptor_data());
2009 messages.push(InstrumentRegister::generated_message_descriptor_data());
2010 messages.push(InstrumentDef::generated_message_descriptor_data());
2011 let mut enums = ::std::vec::Vec::with_capacity(3);
2012 enums.push(PitchChoiceType::generated_enum_descriptor_data());
2013 enums.push(SoundProductionType::generated_enum_descriptor_data());
2014 enums.push(TuningType::generated_enum_descriptor_data());
2015 ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
2016 file_descriptor_proto(),
2017 deps,
2018 messages,
2019 enums,
2020 )
2021 });
2022 ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
2023 })
2024}