Mercurial > vegas-scripts
comparison Convert Pitch Scheme.cs @ 4:d32ae6be32a4
*: mass rename files
committer: GitHub <noreply@github.com>
author | Paper <37962225+mrpapersonic@users.noreply.github.com> |
---|---|
date | Mon, 23 Jan 2023 23:35:06 -0500 |
parents | convert_pitch_scheme.cs@32af787f8cb8 |
children |
comparison
equal
deleted
inserted
replaced
3:958615460fe5 | 4:d32ae6be32a4 |
---|---|
1 /* NOTE: Requires VEGAS 16 or higher. */ | |
2 | |
3 using ScriptPortal.Vegas; | |
4 using System; | |
5 using System.Windows.Forms; | |
6 using System.Collections.Generic; | |
7 | |
8 public class EntryPoint { | |
9 private Dictionary<string, int> stretchAttributes = new Dictionary<string, int> | |
10 { | |
11 {"Pro", 0}, | |
12 {"Efficient", 1}, | |
13 {"Soloist (Monophonic)", 2}, | |
14 {"Soloist (Speech)", 3}, | |
15 {"A01. Music 1 (minimum flange, may echo)", 4}, | |
16 {"A02. Music 2", 5}, | |
17 {"A03. Music 3 (less echo)", 6}, | |
18 {"A04. Music 4 (fast, good for bass)", 7}, | |
19 {"A05. Music 5", 8}, | |
20 {"A06. Music 6", 9}, | |
21 {"A07. Speech 1", 10}, | |
22 {"A08. Speech 2", 11}, | |
23 {"A09. Speech 3 (fast)", 12}, | |
24 {"A10. Solo instruments 1", 13}, | |
25 {"A11. Solo instruments 2", 14}, | |
26 {"A12. Solo instruments 3", 15}, | |
27 {"A13. Solo instruments 4 (less echo)", 16}, | |
28 {"A14. Solo instruments 5", 17}, | |
29 {"A15. Solo instruments 6", 18}, | |
30 {"A16. Solo instruments 7 (fast)", 19}, | |
31 {"A17. Drums, unpitched (minimum echo)", 20}, | |
32 {"A18. Drums (better for toms)", 21}, | |
33 {"A19. Drums (tiny echo)", 22} | |
34 }; | |
35 public void FromVegas(Vegas vegas) { | |
36 int stretchAttribute = Prompt.GetOptions(stretchAttributes); | |
37 foreach (var track in vegas.Project.Tracks) { | |
38 foreach (var trackEvent in track.Events) { | |
39 if (trackEvent.Selected && trackEvent.IsAudio()) { | |
40 AudioEvent audio = trackEvent as AudioEvent; | |
41 if ((stretchAttribute >= 0) && (stretchAttribute <= 3)) { | |
42 audio.Method = (TimeStretchPitchShift)2; /* pitch shift method; 0 is elastique, 1 is acid style, 2 is classic, and 3 is none */ | |
43 audio.ElastiqueAttribute = (ElastiqueStretchAttributes)stretchAttribute; | |
44 } else if (stretchAttribute >= 4) { | |
45 audio.Method = (TimeStretchPitchShift)0; | |
46 audio.ClassicAttribute = (ClassicStretchAttributes)stretchAttribute-4; | |
47 } | |
48 } | |
49 } | |
50 } | |
51 } | |
52 } | |
53 | |
54 class Prompt | |
55 { | |
56 public static int GetOptions(Dictionary<string,int> stretchAttributes) | |
57 { | |
58 Form prompt = new Form() { | |
59 Width = 300, | |
60 Height = 103, | |
61 FormBorderStyle = FormBorderStyle.FixedSingle, | |
62 MaximizeBox = false, | |
63 MinimizeBox = false, | |
64 ShowIcon = false, | |
65 Text = "made by paper" | |
66 }; | |
67 ComboBox | |
68 inputValue = new ComboBox() | |
69 { | |
70 Left = 7, | |
71 Top = 10, | |
72 Width = (prompt.Width - 30) | |
73 }; | |
74 Button | |
75 confirmation = new Button() | |
76 { | |
77 Text = "OK", | |
78 Left = 7, | |
79 Width = (prompt.Width - 30), | |
80 Top = 35, | |
81 DialogResult = DialogResult.OK | |
82 }; | |
83 | |
84 inputValue.BeginUpdate(); | |
85 inputValue.DataSource = new BindingSource(stretchAttributes, null); | |
86 inputValue.DisplayMember = "Key"; | |
87 inputValue.ValueMember = "Value"; | |
88 inputValue.EndUpdate(); | |
89 | |
90 inputValue.DropDownStyle = ComboBoxStyle.DropDownList; | |
91 | |
92 prompt.Controls.Add(inputValue); | |
93 prompt.Controls.Add(confirmation); | |
94 prompt.AcceptButton = confirmation; | |
95 | |
96 confirmation.Click += (sender, e) => | |
97 { | |
98 prompt.Close(); | |
99 }; | |
100 | |
101 if (prompt.ShowDialog() == DialogResult.OK) | |
102 { | |
103 return inputValue.SelectedIndex; | |
104 } | |
105 else | |
106 { | |
107 return -1; | |
108 } | |
109 } | |
110 } |