https://www.youtube.com/watch?v=6UKoLTO8UyU Nikhil Chakraborty bhairavis
https://www.youtube.com/watch?v=Kfp1K0s0gL8 Ustad Amir Khan - Chandrakauns Tarana
https://www.youtube.com/watch?v=IqZ8O0lIR48 mehendi hasaansghazals
int MidiFileType = 1;// 0;//////saan changes this to 1
int BeatsPerMinute =
(int)this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE;
//60;
int TicksPerQuarterNote =
(int)this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480;
//120;////// too important /// multiple of 480
int TrackNumber = 0;
int ChannelNumber = 1;
//////public PatchParser()
int Patch_number = 26;
long absoluteTime___start___midstksunits = 0;
long absoluteTime___final___midstksunits = 0;
//////long absoluteTime___start___millis_units = 0;
//////long absoluteTime___final___millis_units = 0;
///
double absoluteTime___start___millis_units = 0;
double absoluteTime___final___millis_units = 0;
int ___necessary_pitch_bend_to_put_at_start_side_of_note = 0;
// var collection
SAANAUDS.Midi.MidiEventCollection collection
= new
SAANAUDS.Midi.MidiEventCollection
(MidiFileType, TicksPerQuarterNote);
collection
.AddEvent
(
new SAANAUDS.Midi.TextEvent
(
"Note Stream LYRICS",
SAANAUDS.Midi.MetaEventType.TextEvent
,
// absoluteTime
(long)((absoluteTime___start___midstksunits + absoluteTime___final___midstksunits) / 6)
),
//TrackNumber
TrackNumber
);
/////////////////////////////// interesting styles ////////////////////
///
collection
.AddEvent
(
new SAANAUDS.Midi.TextEvent
(
"SanjoyNathGeometrifyingTrigonometry(C)"
,
SAANAUDS.Midi.MetaEventType.Copyright
,
// absoluteTime
(long)(absoluteTime___start___midstksunits)
),
//TrackNumber
// 0
TrackNumber
);
////////////////////////////////////////////////////////////////////////////////
////// will do after some times
// ++absoluteTime;
collection.AddEvent
(
new SAANAUDS.Midi.TempoEvent
(
Local_CalculateMicrosecondsPerQuaterNote
(
BeatsPerMinute
),
/// absoluteTime
absoluteTime___start___midstksunits
),
// TrackNumber
TrackNumber
);
////////////////////////////////////////////////
var patchParser = new SAANAUDS_CHECKING.PatchParser();
int patchNumber = patchParser.Patch("steel");//////////////////// i will configure this from layers
string current_patch_name_found_from_patch_number = "";
string current_note_name_found_from_note_number = "";
// SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
/////////////////// first entries so absolute time is zero
collection.AddEvent(
new
SAANAUDS.Midi.PatchChangeEvent
(
0
,
ChannelNumber
, patchNumber
)
, TrackNumber
);
//////const int NoteVelocity = 100;
////// const int NoteDuration___with__midtks_units =
////// ///3 * TicksPerQuarterNote / 4;
////// const long SpaceBetweenNotes
////// = TicksPerQuarterNote;
////////////////////////////////////////////////////////////////////
current_patch_name_found_from_patch_number = "";
current_patch_name_found_from_patch_number
=
SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
.PUBLIC_STATIC_STRING___RETURN_PATCH_NAME_FROM___1_values_up_down_not_necessary___indexes_since_my_array_is_1_to_128___PATCH_NUMBER___PUBLIC_STATIC_STRING_ARRAY_FOR_SAAN_PROGRAMS_PATCHES_INSTRUMENTS_NAMES_MAPPER
(patchNumber);
////////////////////////////////////////////////////////////////////
int NoteVelocity = 122;// 100;/// i will change this customized to get the right feels instrument wise and also for the specific notes frequencies
double total_of_all_notes_velocities = 0;
if (this.checkBox_AUTO_SIN_THETA_ADJUST_VELOCITY_WITH_LENGTHS_SLOPES.Checked)
{
////// NoteVelocity at the time of notes patch calculations we will readjust
}
else
{
NoteVelocity = 122;
}//end of else of if(this.checkBox_AUTO_SIN_THETA_ADJUST_VELOCITY_WITH_LENGTHS_SLOPES.Checked)
long NoteDuration___with__midtks_units = 0;
/// long NoteDuration___with__millsecs_units = 0;
///
double NoteDuration___with__millsecs_units = 0;
double slope_in_linear_time___with__midtks_units = 0; ////// 16 different slopes in linear time calculated
double slope_in_linear_time___with__millsecs_units = 0; ////// 16 different slopes in linear time calculated
///3 * TicksPerQuarterNote / 4;
long SpaceBetweenNotes
= 0;// TicksPerQuarterNote;
////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
note_name_found_from_the_nearest_frequency_Hertz
=
SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
// . PUBLIC_STATIC_STRING_ARRAY_FOR_SAAN_NOTES_MAPPER
// .public_static_global_list______ACCUMULATED_AFTER_ALL_DATA_READING_DONE___INSIDE___FUNCTION___SAAN_Log_tracks_channels_events_______BETTER_SCALES____STILL___NOT_GETTING_PROPER_PATCH_NUMBERS___SAAN_CLASS_FOR_MIDI_DATA_TO_LINE_SEGMENT_DATA_HOLDING
// .public_static_int_get_note_number_from_frequency_Hertz
.public_static_string_get_note_name_from_frequency_Hertz
(
freq_found_from_the_nearest
);
note_number_found_from_the_furthest_frequency_Hertz
=
SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
// . PUBLIC_STATIC_STRING_ARRAY_FOR_SAAN_NOTES_MAPPER
// .public_static_global_list______ACCUMULATED_AFTER_ALL_DATA_READING_DONE___INSIDE___FUNCTION___SAAN_Log_tracks_channels_events_______BETTER_SCALES____STILL___NOT_GETTING_PROPER_PATCH_NUMBERS___SAAN_CLASS_FOR_MIDI_DATA_TO_LINE_SEGMENT_DATA_HOLDING
// .public_static_int_get_note_number_from_frequency_Hertz
.public_static_int_get_note_number_from_frequency_Hertz
(
freq_found_from_the_furthest
);
note_name_found_from_the_furthest_frequency_Hertz
=
SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
// . PUBLIC_STATIC_STRING_ARRAY_FOR_SAAN_NOTES_MAPPER
// .public_static_global_list______ACCUMULATED_AFTER_ALL_DATA_READING_DONE___INSIDE___FUNCTION___SAAN_Log_tracks_channels_events_______BETTER_SCALES____STILL___NOT_GETTING_PROPER_PATCH_NUMBERS___SAAN_CLASS_FOR_MIDI_DATA_TO_LINE_SEGMENT_DATA_HOLDING
// .public_static_int_get_note_number_from_frequency_Hertz
.public_static_string_get_note_name_from_frequency_Hertz
(
freq_found_from_the_furthest
);
////////note_number_found_from_the_nearest_frequency_Hertz
//////if (note_number_found_from_the_nearest_frequency_Hertz < 6 || note_number_found_from_the_nearest_frequency_Hertz > 20000)
////// {
////// note_number_found_from_the_nearest_frequency_Hertz = 69;
////// }//if(note_number_found_from_the_nearest_frequency_Hertz<0 || note_number_found_from_the_nearest_frequency_Hertz>0)
//note_number_found_from_the_nearest_frequency_Hertz
if (note_number_found_from_the_nearest_frequency_Hertz < 6 || note_number_found_from_the_nearest_frequency_Hertz > 127)
{
note_number_found_from_the_nearest_frequency_Hertz = 69;
}//if(note_number_found_from_the_nearest_frequency_Hertz<0 || note_number_found_from_the_nearest_frequency_Hertz>0)
// long NoteDuration___with__midtks_units = 0;
////////note_number_found_from_the_furthest_frequency_Hertz
//////if (note_number_found_from_the_furthest_frequency_Hertz < 6 || note_number_found_from_the_furthest_frequency_Hertz > 20000)
////// {
////// note_number_found_from_the_furthest_frequency_Hertz = 69;
////// }//if(note_number_found_from_the_furthest_frequency_Hertz<0 || note_number_found_from_the_furthest_frequency_Hertz>0)
//note_number_found_from_the_furthest_frequency_Hertz
if (note_number_found_from_the_furthest_frequency_Hertz < 6 || note_number_found_from_the_furthest_frequency_Hertz > 127)
{
note_number_found_from_the_furthest_frequency_Hertz = 69;
}//if(note_number_found_from_the_furthest_frequency_Hertz<0 || note_number_found_from_the_furthest_frequency_Hertz>0)
// long NoteDuration___with__midtks_units = 0;
/////////////////////////////////////////////////////////
///
NoteDuration___with__midtks_units
=
Math.Abs(
Math.Max(
Math.Abs(absoluteTime___final___midstksunits)
,
Math.Abs(absoluteTime___start___midstksunits)
)
-
Math.Abs(
Math.Min(
Math.Abs(absoluteTime___final___midstksunits)
,
Math.Abs(absoluteTime___start___midstksunits)
)
)
)
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////NoteDuration___with__midtks_units
//// =
//// NoteDuration___with__midtks_units
//// * (((long)freq_found_from_the_furthest + (long)freq_found_from_the_nearest) / (2 * (440 + 300)))
//// ;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////THIS IS NEWLY ADDED TO CALCULATE THE DURATIONS IN THE MILLIS//////////////////////////////////////
absoluteTime___start___millis_units = 0;
absoluteTime___final___millis_units = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
___miditks_unit___to___millisecond__units_converter
=
(double)(
(double)
(
double)this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
/
(double)1000
/
(double)this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
)
;
/// i need to check the overlapping same miditks assigned to notes events and other events
/// this is necessary to plan the clarity for the sounds generated in the systems
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
___milliseconds_unit___to___miditks__units_converter
=
(1 / ___miditks_unit___to___millisecond__units_converter);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
absoluteTime___start___millis_units
=
////// (
////// (
////// Math.Min
////// (
////// ___degrees_1, ___degrees_2
////// )
////// )
////// / 360
////// )
////// *
///////// not to do this ((freq_found_from_the_furthest+freq_found_from_the_nearest)/2)
///////// *
////// (
////// (long) this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
////// /
////// 1000
////// )
////// ;
(
(
Math.Min
(
___degrees_1, ___degrees_2
)
)
/ 360
)
// * ( ((long)freq_found_from_the_furthest +(long) freq_found_from_the_nearest) / ( 2 * (440 + 300)))
///////// not to do this ((freq_found_from_the_furthest+freq_found_from_the_nearest)/2)
*
((double)
(
(double)this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
/
(double)1000
)
)
;
absoluteTime___final___millis_units
=
(
(
Math.Max
(
___degrees_1, ___degrees_2
)
)
/ 360
)
// * (((long)freq_found_from_the_furthest + (long)freq_found_from_the_nearest) / (2 * (440 + 300)))
///////// not to do this ((freq_found_from_the_furthest+freq_found_from_the_nearest)/2)
/////
////// (
////// this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
////// /
////// 1000
////// )
///
*
((double)
(
(double)this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
/
(double)1000
)
)
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NoteDuration___with__millsecs_units
= 0;
NoteDuration___with__millsecs_units
=
(double)
(Math.Min
(
Math.Abs(absoluteTime___final___millis_units - absoluteTime___start___millis_units)
,
0.0000000001
)
)
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DOUBLE___AUTOCALCULATED_SLOPE_IN_DEGREES_FROM_THE_ARC_SIN_OF___FREQ_DIFF_TO_LINE_SEGMENTS_LENGTH
=
Math.Asin(Math.Abs(freq_found_from_the_furthest - freq_found_from_the_nearest) / Math.Max(0.0000001, Math.Abs(linelength)))
* (180 / Math.PI);
int ___temp_calibrated_data_found_int_for_velocity
=
(int)
(
(
DOUBLE___AUTOCALCULATED_SLOPE_IN_DEGREES_FROM_THE_ARC_SIN_OF___FREQ_DIFF_TO_LINE_SEGMENTS_LENGTH
/ 90
)
* 128
)
;
if (this.checkBox_AUTO_SIN_THETA_ADJUST_VELOCITY_WITH_LENGTHS_SLOPES.Checked)
{
////// NoteVelocity at the time of notes patch calculations we will readjust
///
NoteVelocity
=
Math.Max
(
30
, Math.Min
(
128
,
// (int)((DOUBLE___AUTOCALCULATED_SLOPE_IN_DEGREES_FROM_THE_ARC_SIN_OF___FREQ_DIFF_TO_LINE_SEGMENTS_LENGTH / ((double)90)) * 128
___temp_calibrated_data_found_int_for_velocity
)
);
string_for_filesnames_the_velocity_chosen_states_controller_fixed_or_changed_with_sin_theta_or_128_misus_sin_theta_states
= "custvles";
}
else
{
NoteVelocity = 122;
string_for_filesnames_the_velocity_chosen_states_controller_fixed_or_changed_with_sin_theta_or_128_misus_sin_theta_states
= "fxdsvels122";
}//end of else of if(this.checkBox_AUTO_SIN_THETA_ADJUST_VELOCITY_WITH_LENGTHS_SLOPES.Checked)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
slope_in_linear_time___with__millsecs_units
=
Math.Atan2((double)(freq_found_from_the_furthest - freq_found_from_the_nearest), (double)NoteDuration___with__millsecs_units);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// i need to log this because on the circumferences we need the compact notes and we need to know the missing locations
/// where the degrees are not allocated such that we can fill the blank times with relevant notes for the proper aesthetics
/// such that we can get the clarity regarding which of these data are to take care
___new_variable_degrees_differences_to_log = 0;
___new_variable_degrees_differences_to_log
=
Math.Abs(
Math.Max(___degrees_1, ___degrees_2)
-
Math.Min(___degrees_1, ___degrees_2)
);
if (NoteDuration___with__millsecs_units < 11)
{
absoluteTime___start___millis_units
=
(double)Math.Abs(absoluteTime___start___midstksunits)
*
(double)___miditks_unit___to___millisecond__units_converter
;
absoluteTime___final___millis_units
=
(double)Math.Abs(absoluteTime___final___midstksunits)
*
(double)___miditks_unit___to___millisecond__units_converter
;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NoteDuration___with__millsecs_units
=
(absoluteTime___final___millis_units
-
absoluteTime___start___millis_units);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///
NoteDuration___with__millsecs_units
= Math.Abs(NoteDuration___with__millsecs_units);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}//if (NoteDuration___with__millsecs_units==0)
///////////////////////////////// AFTER TESTING WITH THE MIDIEDITOR AND DATA I AM PUTTING THESE NOW//////
///
/// double slope_in_linear_time___with__midtks_units = 0; ////// 16 different slopes in linear time calculated
slope_in_linear_time___with__midtks_units
= Math.Atan2((double)(freq_found_from_the_furthest - freq_found_from_the_nearest), (double)NoteDuration___with__midtks_units);
slope_in_linear_time___with__midtks_units
= slope_in_linear_time___with__midtks_units * 360 / Math.PI;/// taken 10 times the angles
slope_in_linear_time___with__midtks_units
= slope_in_linear_time___with__midtks_units * 100;
///////////////////////////////// AFTER TESTING WITH THE MIDIEDITOR AND DATA I AM PUTTING THESE NOW//////
TrackNumber
=
///too slow ((int)slope_in_linear_time___with__midtks_units);//i want the raw data for different slopes integer values % 16;
((int)slope_in_linear_time___with__midtks_units) % 16;
ChannelNumber
= TrackNumber;
////// upto 18102020plusplusplus this was there to get a safe side data
///and i was getting too much of cleronets for long notes
//////patchNumber
////// =
////// TrackNumber;
////////////////////////////////////////////////////////////////////
current_patch_name_found_from_patch_number = "";
current_patch_name_found_from_patch_number
=
SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
.PUBLIC_STATIC_STRING___RETURN_PATCH_NAME_FROM___1_values_up_down_not_necessary___indexes_since_my_array_is_1_to_128___PATCH_NUMBER___PUBLIC_STATIC_STRING_ARRAY_FOR_SAAN_PROGRAMS_PATCHES_INSTRUMENTS_NAMES_MAPPER
(patchNumber);
////////////////////////////////////////////////////////////////////
///
/////////////////////////////////////////////////////////////// i have added this to put the good effects //////
////////////////////////////////////////////////////////////////// i have added this to put the good effects //////
////////////////////////////////////////////////////////////////// i have added this to put the good effects //////
collection.AddEvent(
new
SAANAUDS.Midi.PatchChangeEvent
(
///saan puts this here
absoluteTime___start___midstksunits
,
ChannelNumber
,
patchNumber
)
, TrackNumber
);
/////////////////////////////////////////////////////////////// i have added this to put the good effects //////
////////////////////////////////////////////////////////////////// i have added this to put the good effects //////
////////////////////////////////////////////////////////////////// i have added this to put the good effects //////
if ((absoluteTime___final___midstksunits - absoluteTime___start___midstksunits) > 100)
{
////////////////////// new things adding
////// will do after some times
collection
.AddEvent
(
new SAANAUDS.Midi.TextEvent
(
//////"Note Stream LYRICS_"+ current_note_name_found_from_note_number,
"lyr_or_notes_names_" + current_note_name_found_from_note_number,
SAANAUDS.Midi.MetaEventType.TextEvent
,
// absoluteTime
(long)((absoluteTime___start___midstksunits + (absoluteTime___final___midstksunits - absoluteTime___start___midstksunits) / 6))
),
//TrackNumber
0
);
}//if((absoluteTime___final___midstksunits - absoluteTime___start___midstksunits)>100)
/////////////////////////////////////////////////////////
///
///there was some errors so i had to do this
if (NoteVelocity < 30)
{
NoteVelocity = 30;
}//if(NoteVelocity<30)
if (NoteVelocity > 127)
{
NoteVelocity = 127;
}// if (NoteVelocity>127)
///////////////////////////////////////////////////////// WE ARE ASSIGNING THE NOTE ON EVENT HERE /////////////////////////////////////
///////////////////////////////////////////////////////// WE ARE ASSIGNING THE NOTE ON EVENT HERE /////////////////////////////////////
///////////////////////////////////////////////////////// WE ARE ASSIGNING THE NOTE ON EVENT HERE /////////////////////////////////////
///////////////////////////////////////////////////////// WE ARE ASSIGNING THE NOTE ON EVENT HERE /////////////////////////////////////
///////////////////////////////////////////////////////// WE ARE ASSIGNING THE NOTE ON EVENT HERE /////////////////////////////////////
///////////////////////////////////////////////////////// WE ARE ASSIGNING THE NOTE ON EVENT HERE /////////////////////////////////////
collection.AddEvent
(
new SAANAUDS.Midi.NoteOnEvent
(
////// absoluteTime
absoluteTime___start___midstksunits
,
ChannelNumber
,
// note.MidiValue
note_number_found_from_the_nearest_frequency_Hertz
,
NoteVelocity
,
////// (int)Math.Min(NoteDuration___with__midtks_units, 1)
(int)Math.Max(NoteDuration___with__midtks_units, 1)
)
,
TrackNumber
);
/////////////////////////////////////////////////////////
//////absoluteTime___final___midstksunits
////// = Math.Min(30, absoluteTime___final___midstksunits);
//to implement this check
///
note_name_found_from_the_nearest_frequency_Hertz
=
SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
// . PUBLIC_STATIC_STRING_ARRAY_FOR_SAAN_NOTES_MAPPER
// .public_static_global_list______ACCUMULATED_AFTER_ALL_DATA_READING_DONE___INSIDE___FUNCTION___SAAN_Log_tracks_channels_events_______BETTER_SCALES____STILL___NOT_GETTING_PROPER_PATCH_NUMBERS___SAAN_CLASS_FOR_MIDI_DATA_TO_LINE_SEGMENT_DATA_HOLDING
// .public_static_int_get_note_number_from_frequency_Hertz
.public_static_string_get_note_name_from_frequency_Hertz
(
freq_found_from_the_nearest
);
/////////////////////////////////////////////////////////////////////////////////////////////
///
//////}//if(notes_starts___delta_pitch___if_it_is_higher_than_nearest_note_frequency>0)
note_name_found_from_the_nearest_frequency_Hertz
=
SAANAUDS.PUBLIC_STATIC_CLASS_TO_GENERATE_CSVMIDI_LIKE_SAANDATA
// . PUBLIC_STATIC_STRING_ARRAY_FOR_SAAN_NOTES_MAPPER
// .public_static_global_list______ACCUMULATED_AFTER_ALL_DATA_READING_DONE___INSIDE___FUNCTION___SAAN_Log_tracks_channels_events_______BETTER_SCALES____STILL___NOT_GETTING_PROPER_PATCH_NUMBERS___SAAN_CLASS_FOR_MIDI_DATA_TO_LINE_SEGMENT_DATA_HOLDING
// .public_static_int_get_note_number_from_frequency_Hertz
.public_static_string_get_note_name_from_frequency_Hertz
(
freq_found_from_the_nearest
);
///NoteDuration___with__midtks_units
/// ___delta___pitch___slabs_finder =( int)(NoteDuration___with__midtks_units / 330);
/// ___delta___pitch___slabs_finder = Math.Min(11, (int)(NoteDuration___with__midtks_units / 600));
//////___delta___pitch___slabs_finder =(int) Math.Min((double)11, (double)(NoteDuration___with__millsecs_units / 600));
/// ___delta___pitch___slabs_finder = (int)Math.Min((double)11, (double)(NoteDuration___with__millsecs_units / 1000));
int pitch_bent_wheels_value_to_assign = 8192;// 8190;// 8192;(now 8192)
___delta___pitch___slabs_finder =
(int)Math.Min
(
(double)11,
(double)(NoteDuration___with__millsecs_units
/
this.PUBLIC_DOUBLE_PITCH_BENDS_MINIMUM_TIMES_DURATIONS_MILLISECS)
);
////////////// Calculate the frequency ratio
///////// double frequencyRatio = finalFrequency / startFrequency;
//////double frequencyRatio = final_side_of_line_segments_frequency / start_side_of_line_segments_frequency;
///////// double deltaPitch = (8192 * Math.Log2(frequencyRatio)) / ___delta___pitch___slabs_finder;
/////////
////////////// Calculate pitch bend value steps
//////double deltaPitch = (8192 * (Math.Log(frequencyRatio))/ Math.Log(2))/ ___delta___pitch___slabs_finder;
int currentPitchBend = 8192;//(now 8192) 8190;//approx center
////// this is for increasing frequency cases for pitch bends
if (start_side_of_line_segments_frequency < final_side_of_line_segments_frequency)
{
//////for (double ___pitch_bent_iterator= start_side_of_line_segments_frequency+1;
////// ___pitch_bent_iterator < final_side_of_line_segments_frequency;
////// ___pitch_bent_iterator++)
{
delta_pitch = (final_side_of_line_segments_frequency - start_side_of_line_segments_frequency) / ___delta___pitch___slabs_finder;
//////// Calculate the frequency ratio
/// double frequencyRatio = finalFrequency / startFrequency;
double frequencyRatio = final_side_of_line_segments_frequency / start_side_of_line_segments_frequency;
/// double deltaPitch = (8192 * Math.Log2(frequencyRatio)) / ___delta___pitch___slabs_finder;
///
//////// Calculate pitch bend value steps
double deltaPitch_with_log
=
//////(8192
//////* (Math.Log(frequencyRatio))
/////// Math.Log(2))
/////// ___delta___pitch___slabs_finder;
///
(8192
* (Math.Log(frequencyRatio))
/ Math.Log
(
ExcelFormulaParser_GT_PARSER.GT_PARSERS
.public_static_class_simulations_CONTROLLER_for_gt_Class
.PUBLIC_STATIC_DOUBLE___DEFAULT_2__LOGARITHMS_BASE_FOR_PITCH_BENDS_409
))
/ ___delta___pitch___slabs_finder;
double linear_delta_pitch = (final_side_of_line_segments_frequency - start_side_of_line_segments_frequency) / ___delta___pitch___slabs_finder;
currentPitchBend = 8192;//(now 8192) 8190;///rising freqs cases
/// trying delta_pitch
for (int rrr = 0; rrr < ___delta___pitch___slabs_finder; rrr++)
{
/////////////////////////////// newly added conditions from the check boxes ///////////////////////////////////////////
if (checkBox_LOG_2_PITCH_ADJUST_INSTEAD_OF_LINEAR.Checked)
{
// currentPitchBend = 8190 + (int)(deltaPitch_with_log * rrr);///rising freq cases
currentPitchBend = 8192 + (int)(deltaPitch_with_log * rrr);///rising freq cases
//(now 8192)
// Ensure that the pitch bend value stays within the valid MIDI range
currentPitchBend = Math.Max(0, Math.Min(16383, currentPitchBend));
pitch_bent_wheels_value_to_assign
= currentPitchBend;
////// delta_pitch = pitch_bent_wheels_value_to_assign;// deltaPitch_with_log;
}// if(checkBox_LOG_2_PITCH_ADJUST_INSTEAD_OF_LINEAR.Checked)
/////////////////////////////// newly added conditions from the check boxes ///////////////////////////////////////////
else
{
/// non log2 cases rising cases
/// for linear pitchbend assigns
pitch_bent_wheels_value_to_assign
=
// Math.Max(16368, (int)(8190 + (rrr * delta_pitch)));///linear delta pitch is taken for non log2 rising cases
Math.Max(16368, (int)(8192 + (rrr * delta_pitch)));///linear delta pitch is taken for non log2 rising cases
//rising freq cases
}
try
{
collection.AddEvent
(
new
SAANAUDS.Midi.PitchWheelChangeEvent
(
(long)(absoluteTime___start___midstksunits + ((absoluteTime___final___midstksunits - absoluteTime___start___midstksunits) / ___delta___pitch___slabs_finder) * rrr)
,
ChannelNumber
,
/// Math.Min(16368, (int)(start_side_of_line_segments_frequency +(delta_pitch * (final_side_of_line_segments_frequency/ start_side_of_line_segments_frequency)) * 8192))
// Math.Max(16368, (int)(8190 + (rrr * delta_pitch)))
//////this is new variable taken to automatically understand for log2 cases and for linear cases
/////this is rising cases
pitch_bent_wheels_value_to_assign
//rising freq cases
)
, TrackNumber
);
////// this is for decreasing frequency cases for pitch bends
if (start_side_of_line_segments_frequency > final_side_of_line_segments_frequency)
{
//////for (double ___pitch_bent_iterator= start_side_of_line_segments_frequency+1;
////// ___pitch_bent_iterator < final_side_of_line_segments_frequency;
////// ___pitch_bent_iterator++)
{
//////// Calculate the frequency ratio
/// double frequencyRatio = finalFrequency / startFrequency;
double frequencyRatio = final_side_of_line_segments_frequency / start_side_of_line_segments_frequency;
/// double deltaPitch = (8192 * Math.Log2(frequencyRatio)) / ___delta___pitch___slabs_finder;
///
//////// Calculate pitch bend value steps
double deltaPitch_with_log
=
//////(8192
/////
//////(
//////Math.Log(frequencyRatio))
///////
//////Math.Log(2)
//////)
///////
//////___delta___pitch___slabs_finder;
///
(8192
*
(
Math.Log(frequencyRatio))
/
Math.Log
(
ExcelFormulaParser_GT_PARSER.GT_PARSERS
.public_static_class_simulations_CONTROLLER_for_gt_Class
.PUBLIC_STATIC_DOUBLE___DEFAULT_2__LOGARITHMS_BASE_FOR_PITCH_BENDS_409
)
)
/
___delta___pitch___slabs_finder;
/// trying delta_pitch
///
double linear_delta_pitch = (start_side_of_line_segments_frequency - final_side_of_line_segments_frequency) / ___delta___pitch___slabs_finder; ;
// for linear cases we use this for pitch calculations
delta_pitch = (start_side_of_line_segments_frequency - final_side_of_line_segments_frequency) / ___delta___pitch___slabs_finder;/// always pre calculated
///////////////////////////////////// newly added conditions from the check boxes ///////////////////////////////////////////
//////if (checkBox_LOG_2_PITCH_ADJUST_INSTEAD_OF_LINEAR.Checked)
//////{
////// delta_pitch = deltaPitch_with_log;
////// pitch_bent_wheels_value_to_assign=
//////}// if(checkBox_LOG_2_PITCH_ADJUST_INSTEAD_OF_LINEAR.Checked)
////// /////////////////////////////// newly added conditions from the check boxes ///////////////////////////////////////////
////// ///
for (int rrr = 0; rrr < ___delta___pitch___slabs_finder; rrr++)
{
try
{
// for falling frequency cases
/////////////////////////////// newly added conditions from the check boxes ///////////////////////////////////////////
if (checkBox_LOG_2_PITCH_ADJUST_INSTEAD_OF_LINEAR.Checked)
{
//falling freq cases
// ratio is less than 1 and log 2 will negative will adjust the direction of the movement
///falling freq cases also have same formula for log2 pitch bends because log of ratio does negatives or positives automatically
/// currentPitchBend = 8190 + (int)(deltaPitch_with_log * rrr); /// for log 2 cases
currentPitchBend = 8192 + (int)(deltaPitch_with_log * rrr); /// for log 2 cases
// Ensure that the pitch bend value stays within the valid MIDI range
currentPitchBend = Math.Max(0, Math.Min(16383, currentPitchBend));/// for log 2 cases
//falling freq cases
pitch_bent_wheels_value_to_assign
= currentPitchBend;
/// delta_pitch = pitch_bent_wheels_value_to_assign;// deltaPitch_with_log;
}// if(checkBox_LOG_2_PITCH_ADJUST_INSTEAD_OF_LINEAR.Checked)
else
{
// for falling cases
// for linear cases
//for linear cases we need to do this reverse movements from the 8190 delta_pitch is calculated at the starting
//in our starting calculations delta_pitch is calculated for positive to avoid the errors
// currentPitchBend = Math.Max(6, (int)(8190 - rrr * delta_pitch));/// linear case is here so direct delta pitch is used for falling cases also
currentPitchBend = Math.Max(6, (int)(8192 - rrr * delta_pitch));/// linear case is here so direct delta pitch is used for falling cases also
////// this is new variable to assign the pitchwheel data auto adjusted for log2 and for linear both
pitch_bent_wheels_value_to_assign = currentPitchBend;
}//end of else case
/////////////////////////////// newly added conditions from the check boxes ///////////////////////////////////////////
collection.AddEvent
(
new
SAANAUDS.Midi.PitchWheelChangeEvent
(
(long)(absoluteTime___start___midstksunits + ((absoluteTime___final___midstksunits - absoluteTime___start___midstksunits) / ___delta___pitch___slabs_finder) * rrr)
,
ChannelNumber
,
/// (int)((1-(delta_pitch / start_side_of_line_segments_frequency)) * 8192)
///
// (int)(delta_pitch *(final_side_of_line_segments_frequency/ start_side_of_line_segments_frequency) * 8192)
//////Math.Max(6, (int)(8190(now 8192) - rrr * delta_pitch))
/// currentPitchBend
pitch_bent_wheels_value_to_assign
)
, TrackNumber
);
collection.AddEvent
(
new
SAANAUDS.Midi.NoteEvent
(
/// absoluteTime + NoteDuration___with__midtks_units
absoluteTime___final___midstksunits
,
ChannelNumber
,
SAANAUDS.Midi
.MidiCommandCode
.NoteOff
,
// note.MidiValue
note_number_found_from_the_nearest_frequency_Hertz
, 0
),
TrackNumber
);
// absoluteTime += SpaceBetweenNotes;
if(fileName_for_midi_from_the_dxf.Length>=255)
{
fileName_for_midi_from_the_dxf
=
////// ___temp_dxf_file_to_read_for_GRAPHS_ON_PBOX
////// + "_BPM=" + this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
////// + "_TPQN=" + this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
////// + "_TS=" + this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT.ToString()
////// + "_" + this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2.ToString()
////// + "_totslps=" + this.public_list_of_6_digit_double_precission_unique_slopes_found.Count.ToString()
//////+"_tot_notes="+ entities.OfType<SAANSDXF.Entities.Line>().Count().ToString()
////// +"_tot_durs=" + this.public_list_of_long_type_note_durations.Count.ToString() + "_millis_"
////// + "calcs_ptchbnds="+string_for_filesnames_the_pitch_bends_controller_linear_freqs_diffs_or_log_2_with_freq_ratios
////// +"_"+string_for_filesnames_the_velocity_chosen_states_controller_fixed_or_changed_with_sin_theta_or_128_misus_sin_theta_states
////// + ".mid";
___temp_dxf_file_to_read_for_GRAPHS_ON_PBOX
+ "("
//////+ circlesplitted_divisors_taken_for_filesnames_parts
//////+ "_" +
//////longlines_plitted_divisors_taken_for_filesnames_parts
////// + "_"
//////+ overall_divisors_taken_for_filesnames_parts
+ formattedDateforfilesnames +
")"+System.DateTime.Now.ToString("ddMMyyyyHHmmss")
+ "_" + this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
+ "_" + this.textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS.Text.ToString().TrimEnd().TrimStart().Trim().Replace(" ", "")
+ "_" + this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
+ "_(" + this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT.ToString()
+ "_" + this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2.ToString()
+ ")_" + this.public_list_of_6_digit_double_precission_unique_slopes_found.Count.ToString()
+ "_(" +
(
entities.OfType<SAANSDXF.Entities.Line>().Count().ToString()
+ "_" +
only_total_line_segments_on_which_to_iterate___entities___for_longer_line_segments
.Count().ToString()
)
+ ")_" + this.public_list_of_long_type_note_durations.Count.ToString() + "_millis_"
+ "_" + string_for_filesnames_the_pitch_bends_controller_linear_freqs_diffs_or_log_2_with_freq_ratios
+ "_" + string_for_filesnames_the_velocity_chosen_states_controller_fixed_or_changed_with_sin_theta_or_128_misus_sin_theta_states
+ "_" + Math.Round(this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions, 0).ToString()
+ "_" + Math.Round(this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions, 0).ToString()
+ "_" + Math.Round(this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied, 0).ToString()
+ "_" + Math.Round(this.PUBLIC_DOUBLE_PITCH_BENDS_MINIMUM_TIMES_DURATIONS_MILLISECS, 0).ToString()
+ ".mid";
}//if(formattedDateforfilesnames.Length>=255)
///caution caution caution we will add these later
//////caution caution caution we will add these later
//////caution caution caution we will add these later
//////caution caution caution we will add these later
//////caution caution caution we will add these later
//////caution caution caution we will add these later
///caution caution caution we will add these later
collection.PrepareForExport();
///caution caution caution we will add these later MidiFile.Export(fileName, collection);
///
/// caution caution caution we will add these later
///
System.Windows.Forms.MessageBox.Show(" MIDI files SAANAUDS.Midi.MidiFile.Export; starts");
SAANAUDS.Midi.MidiFile.Export
(
fileName_for_midi_from_the_dxf
, collection
);
////////////////////////////////////////////////////////////////////////////////////////////////////
private int Local_CalculateMicrosecondsPerQuaterNote(int bpm)
{
return 60 * 1000 * 1000 / bpm;
}// private int Local_CalculateMicrosecondsPerQuaterNote(int bpm)
public void RECALCULATE_THE_MIDI_DATA_MICROSECONDS_NOTES_ETC()
{
try
{
////// textBox_PITCH_BENDS_SLABS_MILLIS
///public double PUBLIC_DOUBLE_PITCH_BENDS_MINIMUM_TIMES_DURATIONS_MILLISECS = 1100;
//textBox_PITCH_BENDS_SLABS_MILLIS
this.PUBLIC_DOUBLE_PITCH_BENDS_MINIMUM_TIMES_DURATIONS_MILLISECS = 338;
try
{
this.PUBLIC_DOUBLE_PITCH_BENDS_MINIMUM_TIMES_DURATIONS_MILLISECS
=
Convert.ToDouble(textBox_PITCH_BENDS_SLABS_MILLIS.Text.ToString().TrimEnd().TrimStart().Trim().Replace(" ", ""));
}
catch (Exception ___excptoreadptchbendstimesmillis)
{
this.PUBLIC_DOUBLE_PITCH_BENDS_MINIMUM_TIMES_DURATIONS_MILLISECS = 338;
}//catch(Exception ___excptoreadptchbendstimesmillis)
this.public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS
= (long)Convert.ToInt64(textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS.Text.TrimEnd().Trim().Trim().Replace(" ", ""));
/////////////////////////////////////////////////////////// this is important for the calculations of the drawings on dxf systems //////
////// first we convert the micro seconds to milliseconds and then we divide the milliseconds with 360*100 (centi degrees to get the data
///these centi degrees are the important calculations for the systems and which suggests the lengths of the notes along the circumferences of frequency circles
///to get the durations for the notes for proper understanding of the constructions of notes assignments properly and no gaps are there in the denseness
///for the musics preperations (EAR GRAMMARS) are to handle with the compactness of the sounds sequences
///to tell the story about the geometry compactness symmetries kind of things and also to understand the nature of visual symmetries and the effects on the audible symmetries
///the visual aesthetics and the audio aesthetics dont talk the same things which is to take care for the geometry and the grammars of spatial alignments to sounds arrangements
this.public_double_milliseconds_per_centi_degrees
=
(((double)this.public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS) / 1000)
/
36000;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///
///
this.public_double_milliseconds_per_UNIT_SINGLE_degrees
=
(((double)this.public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS) / 1000)
/
360;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
PUBLIC_INT_LENGTH_OF___SAANS_FACVORITE_STRINGS_SHORT_DURATIONS_PATCHES_PUBLIC_ARRAY_INT = 0;
PUBLIC_INT_LENGTH_OF___SAANS_FACVORITE_AIR_LONG_DURATIONS_PATCHES_PUBLIC_ARRAY_INT = 0;
PUBLIC_INT_LENGTH_OF___SAANS_FACVORITE_STRINGS_SHORT_DURATIONS_PATCHES_PUBLIC_ARRAY_INT
= SAANS_FACVORITE_STRINGS_SHORT_DURATIONS_PATCHES_PUBLIC_ARRAY_INT.Length;
PUBLIC_INT_LENGTH_OF___SAANS_FACVORITE_AIR_LONG_DURATIONS_PATCHES_PUBLIC_ARRAY_INT
= SAANS_FACVORITE_AIR_LONG_DURATIONS_PATCHES_PUBLIC_ARRAY_INT.Length;
////// cant we take TicksPerQuarterNote as multiple of 60 ? instead of multiple of 480
//////ChatGPT
//////In MIDI, TicksPerQuarterNote is often used as a multiple of 60 because it provides a convenient resolution for expressing tempo changes.However, it's not a strict requirement, and you can technically set TicksPerQuarterNote to any integer value based on your specific needs.
//////Using a multiple of 60, like 480(60 multiplied by 8), is common because it allows for easy tempo calculations in beats per minute(BPM) and makes it simple to represent note durations.It's a practical choice because it aligns well with common musical timing values.
//////That said, you can choose other values for TicksPerQuarterNote if your MIDI application requires different resolutions or if you have specific reasons to do so.Just be aware that using a value that's not a multiple of 60 may make it less intuitive when working with tempos in BPM and traditional musical notation.
///TS MEANS TIME SIGNATURE
/// ///TS MEANS TIME SIGNATURE
/// ///TS MEANS TIME SIGNATURE
////////public long public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS = 0;
////////public long public_long_total_miditicks_of_song___FOR___label_TOT_MICROSECONDS_DURATION_NX480 = 0;
////////public long public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS = 0;
////////public double PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE = 0;
////////public long public_long_FOR___label_CALCULATED_DATA_MICROTEMPO_THAT_IS_MICROSECONDS_PER_BEAT = 0;
////////public int public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT = 0;
////////public int public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2 = 0;
///TS MEANS TIME SIGNATURE
/// ///TS MEANS TIME SIGNATURE
/// ///TS MEANS TIME SIGNATURE
////////public double public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK = 0;
////////public long public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS = 0;
//////public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
///
public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
=
(
(int)(
public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS
/ 480
)
+ 1
)
* 480;
/////////////////////////////////////////////////////////////////////////////////////////////
this.label_TOT_MICROSECONDS_DURATION_NX480_OR_N_X_TPQN
.Text
=
"REVISED_DURATIONS_MICROSECONDS=" +
this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
.ToString();
/////////////////////////////////////////////////////////////////////////////////////////////
////////public int public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT = 0;
this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
= Convert.ToInt32
(
this.textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT.Text
.TrimEnd().TrimStart().Trim()
);
////////public int public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2 = 0;
this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
= Convert.ToInt32
(
this.textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2.Text
.TrimEnd().TrimStart().Trim()
);
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////// tooooo important data /////////////////////////////////////////////////////////
/////////////////////////// tooooo important data /////////////////////////////////////////////////////////
/////////////////////////// tooooo important data /////////////////////////////////////////////////////////
this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
= Convert.ToDouble
(
this.textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480.Text
.TrimEnd().TrimStart().Trim()
);
//////////////////////// tooooo important data /////////////////////////////////////////////////////////
/////////////////////////// tooooo important data /////////////////////////////////////////////////////////
/////////////////////////// tooooo important data /////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
= Convert.ToDouble
(
this.textBoxFOR_BEATS_PER_MINUTE.Text
.TrimEnd().TrimStart().Trim()
);
this.public_long_FOR___label_CALCULATED_DATA_MICROTEMPO_THAT_IS_MICROSECONDS_PER_BEAT
=
(long)
(
60000000
/
this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
);
//////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_DATA_MICROTEMPO_THAT_IS_MICROSECONDS_PER_BEAT.Text
= "(MICROTEMPO)microseconds/beat=MICROTEMPO_CALCULATED 60000000/BPM="
+ this.public_long_FOR___label_CALCULATED_DATA_MICROTEMPO_THAT_IS_MICROSECONDS_PER_BEAT.ToString();
//////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
=
(
this.public_long_FOR___label_CALCULATED_DATA_MICROTEMPO_THAT_IS_MICROSECONDS_PER_BEAT
/
this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK.Text
=
"MICROSEC/MIDITICK=" + this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
.ToString();
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
=
(long)
(
(double)
this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
/
this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
);
/////////////////////////////////////////////////////////////////////////////////////////////////////
this.public_long_total_miditicks_of_song___FOR___label_TOT_MICROSECONDS_DURATION_NX480
= this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS;
this.label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS.Text
= "TOT_MIDITICS= " +
this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
.ToString();
/////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
= 4;//default numerator for beats per measure
/////////////////////////////////////////////////////////////////////////////////////////////
try
{
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
=
(int)Convert.ToInt16
(this.textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT.Text.TrimEnd().TrimStart().Trim());
/// no dont do it on text box
//////this.textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT.Text
////// = "beats_per_bar_size or per measure="
////// +
////// this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
////// .ToString();
}
catch (Exception _excp_for_numerator_beats_per_measure_representation)
{
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
= 4;//default numerator for beats per measure
/////////////////////////////////////////////////////////////////////////////////////////////
}//catch(Exception _excp_for_numerator_beats_per_measure_representation)
///4;//default denominator for notes per beats
/////////////////////////////////////////////////////////////////////////////////////////////
try
{
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
= 4; ////// default denominator notes per beat is 2^2 that is the 4 (we take it as 4)
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
=
(int)
Math.Pow
(
2,
(int)Convert.ToInt16
(
this.textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2.Text.TrimEnd().TrimStart().Trim()
)
)
;
}
catch (Exception _excp_for_denominator__the_denominator_notes_per_beat_representation)
{
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
= 2 ^ 4;//default denominator for beats per measure
/////////////////////////////////////////////////////////////////////////////////////////////
}//catch(Exception _excp_for_denominator__the_denominator_notes_per_beat_representation)
///4;//default numerator for beats per measure
/////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// these are very necessary to make the sounds look good //////////
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE = 0;
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE = 0;
this.public_double___label_CALCULATED_DURATION_OF_MIDI_MEASURE_BAR_SIZE_IN_TICKS_OF_MIDI = 0;
this.public_double___label_CALCULATED_NOTES_PER_BEAT = 0;
///////////////////////////////////// these are very necessary to make the sounds look good //////////
this.public_double___label_TOTAL_NUMBER_OF_BEATS_FOUND_IN_TOTAL_DURATION_OF_TICKS_OF_MIDI
=
this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
/
this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
;
/////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
///
/////////////////////////////////////////////////////////////////////////////////////////////
label_TOTAL_NUMBER_OF_BEATS_FOUND_IN_TOTAL_DURATION_OF_TICKS_OF_MIDI.Text
=
this.public_double___label_TOTAL_NUMBER_OF_BEATS_FOUND_IN_TOTAL_DURATION_OF_TICKS_OF_MIDI
.ToString()
+ " BEATS_FOUND";
/////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// these are very necessary to make the sounds look good //////////
////// we do the back calculations from the total durations point of view since we want to distribute the
///whole durations into the best note durations to make it good and so wee are distributing the whole note systems
///back calculated with engineering point of views instead of the music theory point of views
this.public_double___label_CALCULATED_DURATION_OF_MIDI_MEASURE_BAR_SIZE_IN_TICKS_OF_MIDI
=
/// public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
///label_CALCULATED_DURATION_OF_MIDI_MEASURE_BAR_SIZE_IN_TICKS_OF_MIDI
this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
*
/// this.public_double___label_TOTAL_NUMBER_OF_BEATS_FOUND_IN_TOTAL_DURATION_OF_TICKS_OF_MIDI)
/// *
this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_DURATION_OF_MIDI_MEASURE_BAR_SIZE_IN_TICKS_OF_MIDI.Text
=
"MIDI_TICKS_PER_BAR_SIZE(MEASURE)=" +
this.public_double___label_CALCULATED_DURATION_OF_MIDI_MEASURE_BAR_SIZE_IN_TICKS_OF_MIDI
.ToString();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.public_double___label_CALCULATED_NOTES_PER_BEAT
=
//////Math.Pow
//////(
////// 2
////// ,
this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
// )
/// already done
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_NOTES_PER_BEAT.Text
=
"CALCULATED_NOTES_PER_BEAT( 2^ TS_DENOMINATOR)="
+
this.public_double___label_CALCULATED_NOTES_PER_BEAT.ToString();
//////Math.Pow
//////(
////// 2,
//////this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
//////)
//////.ToString();
// +this.public_double___label_CALCULATED_NOTES_PER_BEAT.ToString();/// denominator of time signature
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// we will calculate the total minutes from the microsecond duration and then use bpm to find the beats count
/// and then we will calculate the notes count from the whole duration then we will calculate the notes duration in terms of midi ticks
///
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE
=
this.public_double___label_CALCULATED_DURATION_OF_MIDI_MEASURE_BAR_SIZE_IN_TICKS_OF_MIDI
*
this.public_double___label_CALCULATED_TOTAL_NUMBER_OF_MIDI_NOTES_IN_TOTAL_DURATION_OF_MIDI_TICKS
;
///to do kkk
///;
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
//////this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
this.public_double___label_CALCULATED_NOTES_PER_BEAT
= (double)this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
;
/////////////////////////////////////////////////////////////////
this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE
=
this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
/
this.public_double___label_CALCULATED_NOTES_PER_BEAT;
///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////// important calculation /////////////////
int revised_integer_miditicks_per_note
=
(int)(this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE)
+ 1;
///////////////////////////////////////////////////////////////////////////////////////////
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE
= revised_integer_miditicks_per_note;
///////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI.Text
= this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE.ToString()
+ " MIDITKS/NOTE";
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
//////this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE
////// =
////// this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE
////// /
////// this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
////// ;
///
///I DID THE MISTAKE PREVIOUSLY WE HAD TO MULTIPLY INSTEAD OF DIVIDING
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE
=
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE
*
this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
;
///////////////////////////////////////////////////////////////////////////////////////////
///
///
////////////////////////////// new variables added and calculated to check listenability of notes//////////////////
////////////////////////////// new variables added and calculated to check listenability of notes//////////////////
////////////////////////////// new variables added and calculated to check listenability of notes//////////////////
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MILLISECONDS = 0;
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MILLISECONDS
=
(this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE / 1000);
////// after calculating we see division is right
///
///I THINK I HAVE TO DO MULTIPLICATIONS INSTEAD OF DIVISIONS
// this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MILLISECONDS
// =
// (this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE * 1000);
if (this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MILLISECONDS < 50)
{
this.textBoxFOR_BEATS_PER_MINUTE.ForeColor = Color.Red;
}
else
{
this.textBoxFOR_BEATS_PER_MINUTE.ForeColor = Color.Black;
}//else if(this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MILLISECONDS<50)
////////////////////////////// new variables added and calculated to check listenability of notes//////////////////
////////////////////////////// new variables added and calculated to check listenability of notes//////////////////
////////////////////////////// new variables added and calculated to check listenability of notes//////////////////
////// this.label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE.Text
////// =
////// this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE
////// + " MIDTICKS/NOTE ÷ "
////// + this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
////// .ToString("F6")
////// + " TICKS / BEATS (k times 480)= "
////// + this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE
////// + " MCRSEC / NOTES CALCS "
/////////+ (this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE/1000)
//////+ this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MILLISECONDS
////// /// .ToString("F30")
////// /// .ToString("F11")
////// .ToString("F6")
////// + " MILLISEC / NOTES"
////// ;
///
///DENOMINATOR OF TIME SIGNATURE AFFECTS THIS
///NUMERATOR OF TIME SIGNATURE DONT AFFECT THIS
///TOTAL DURATIONS OF THE WHOLE THING DONT AFFECT THIS
///TPQN THAT IS 480 , 960 , 1000 .... AFFECTS THIS
this.label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE.Text
=
this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_TICKS_OF_MIDI___INTEGER___MIDITKS_PER_NOTE
+ " MIDTICKS/NOTES X "
+ this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
.ToString("F6")
+ " MICROSEC / MIDITCK "
/// + " TICKS / BEATS (k times 480)= "
+ this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE
+ " MCRSEC / NOTES => "
///
///+ (this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE/1000)
+ this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MILLISECONDS
/// .ToString("F30")
/// .ToString("F11")
.ToString("F6")
+ " MILLISEC / NOTES"
;
///////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////
int ___need_to_revise___miditicks_per_beat_to_integer
=
(int)
(
revised_integer_miditicks_per_note
*
this.public_double___label_CALCULATED_NOTES_PER_BEAT
);
if (this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE != (int)(this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE))
{
System.Windows.Forms.MessageBox.Show
(
"___need_to_revise___miditicks_per_beat_to_integer = "
+ ___need_to_revise___miditicks_per_beat_to_integer.ToString()
);
}// if (this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE != (int)(this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE))
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///
/// <summary>
/// FOR DIFFERENT CONTEXTS WE HAVE DIFFERENT COMPACTNESS DURATION FOR THE WHOLE THINGS AND SO WE DO THE REVERSE CALCULATIONS FOR THE SINGLE NOTES
/// AND TO PLAN FOR THAT WE NEED THE CLARITY OF DISTRIBUTIONS FOR EVERY KINDS OF INSTRUMENTS SUCH THAT WE CAN UNDERSTAND WHAT ARE THE NATURES OF OVERLAPPING
/// IN THE SYSTEMS OF THE NOTES PLACEMENTS THE CLARITY OF NOTES PLACEMENTS ARE IMPORTANT OTHERWISE SEVERAL OVERLAPS OF DIFFERENT NOTES CAN OCCUR WHICH LOOKS CLUMSY OR NOT RENDERED PROPERLY
/// </summary>
/// public double PUBLIC_DOUBLE___MIDITKS_TO_MILLISECOND_CONVERTER_FOR_THIS_CONTEXT___MILLISECONDS_PER_MIDITKS = 1;
/// public double PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT___MIDITKS_PER_MILLISECONDS = 1;
///
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___MIDITKS_TO_MILLISECOND_CONVERTER_FOR_THIS_CONTEXT___MILLISECONDS_PER_MIDITKS
=
(double)(
(double)
(
double)this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
/
(double)1000
/
(double)this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
)
;
/// i need to check the overlapping same miditks assigned to notes events and other events
/// this is necessary to plan the clarity for the sounds generated in the systems
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT___MIDITKS_PER_MILLISECONDS
=
(1 / this.PUBLIC_DOUBLE___MIDITKS_TO_MILLISECOND_CONVERTER_FOR_THIS_CONTEXT___MILLISECONDS_PER_MIDITKS);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// IF WE TAKE 1000 INSTEAD OF 960 AND THE BPM IS 60 THEN THESE TWO ARE 1
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_CONVERTIONS_RATIOS_MIDTKS_TO_MILLIS.Text
=
"CONVERTIONS_RATIOS MIDITKS/MILLIS = "
+
this.PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT___MIDITKS_PER_MILLISECONDS
.ToString("F3")
+
" MILLIS/MIDITKS = "
+
this.PUBLIC_DOUBLE___MIDITKS_TO_MILLISECOND_CONVERTER_FOR_THIS_CONTEXT___MILLISECONDS_PER_MIDITKS
.ToString("F3")
+
" (1 FOR BPM=60 AND 1000 INSTEAD OF 960 FOR TS DENOMINATOR 4(4 BEATS IS 1 NOTE)) "
;
///TPQN IS THE TICKS PER QUARTER NOTE WHICH IS TPQN
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///BEAT TO NOTE AND NOTE TO BEAT RELATIONSHIPS ARE DONE THROUGH THE DENOMINATOR OF TIME SIGNATURES
/////DENOMINATOR NUMBER OF BEATS MAKE ONE SINGLE NOTE FOR THE RHYTHMS CONTROLLERS METRONOMES CLAPPING ARE ADJUSTED WITH THE DENOMINATORS AND THE BEATS ADJUST THE NOTES IN THAT
///BUT THE TICKS TO BEATS AND THE MICROSOECONDS TO BEATS ARE NOT THE DIRECT RELATIONSHIP WITH THE TIME SIGNATURES DENOMINATORS
///BEATS (QUARTER NOTE STANDARD THAT IS 1 BEAT IS 1/4 OF THE WHOLE NOTE WHEN THE DENOMINATOR IS 4 )ARE THE GRIDDING SYSTEMS FOR SOUNDS FLOWS. THESE ARE THE UNITS FOR THE DISTRIBUTIONS OF THE WHOLE THINGS.
///BEATS PER MINUTES IS DIVIDED INTO SMALLER PARTS OF SYSTEMS CLOCKS SPEEDS AND THE MIDI INSTRUMENTS STANDERDIZES THE TIMES TO MIDITICKS
///THESE MIDITICKS
//WHEN THE DENOMINATOR IS NOT 4 THEN THE DIVISIONS ARE DIFFERENT AND THE BEATS DONT MEAN THE QUARTER NOTE FOR THAT CASES
///BEAT IS THE FUNDAMENTAL TIME SCALE FOR THE RHYTHMS AND DONT CONFUSE THE RELATIONS BETWEEN THE BEATS TO NOTES(WHICH IS THE DENOMINATOR OF TIME SIGNATURES)
///
////// Every MIDI file has a value called Ticks Per Quarter Note(TPQN) or Pulses Per Quarter(PPQ).
///Tick is the smallest unit of length.So for example if TPQN = 96, it means that a note of length 96 ticks represents a quarter note.
///But a note of length 96 for TPQN = 192 represents an eighth note.
/// This message is important if the MIDI time division is specified in "pulses per quarter note", as such MIDI time division defines the number of ticks per quarter note, but does not itself define the length of the quarter note.The length of the quarter note is then defined with the set tempo meta message described here.
///RECORDINGBLOG FOR REFERENCES
///Time division (of a MIDI file)
///https://www.recordingblogs.com/wiki/time-division-of-a-midi-file
////////////The time division of a MIDI file, also known as "resolution of a MIDI file", is an indication of how MIDI ticks should be translated into time, contained in the thirteenth and fourteenth bytes in the header chunk of the MIDI file.
////////////There are two possible translations of these two bytes(16 bits).
///If the top bit of the 16 bits is 0, then the time division is in "ticks per beat"(or “pulses per quarter note”).
///If the top bit is 1, then the time division is in "frames per second".
////////////Pulses per quarter note(PPQ)
////////////When the top bit of the time division bytes is 0, the time division is in ticks per beat.
///The remaining 15 bits are the number of MIDI ticks per beat(per quarter note).If, for example, these 15 bits compute to the number 60, then the time division is 60 ticks per beat and the length of one tick is
////////////1 tick = microseconds per beat / 60
////////////The variable "microseconds per beat" is specified by a set tempo meta message.If it is not specified then it is 500, 000 microseconds by default, which is equivalent to 120 beats per minute.In the example above, if the MIDI time division is 60 ticks per beat and if the microseconds per beat is 500,000, then 1 tick = 500,000 / 60 = 8333.33 microseconds.
////////////Frames per second
////////////When the top bit of the time division bytes is 1, the remaining 15 bits have to be broken in two pieces. The top remaining 7 bits(the rest of the top byte) represent the number of frames per second and could be 24, 25, 29.97(represented by 29), or 30.The low byte(the low 8 bits) describes the number of ticks per frame.Thus, if, for example, there are 24 frames per second and there are 100 ticks per frame, since there are 1, 000, 000 microseconds in a second, one tick is equal to
////////////1 tick = 1, 000, 000 / (24 * 100) = 416.66 microseconds
////////////Thus, when the time division top bit is 1, the length of a tick is strictly defined by the two time division bytes.The first byte is the frames per second and the second byte is the number of ticks per frame, which is enough to specify the tick length exactly.This is not so when the top bit of the time division bytes is 0 and the time division is in pulses per quarter note.The time division in this case defines the ticks per beat, but nothing in the time division specifies the number of beats per second.A MIDI message should be used to specify the number of beats per second(or the length of a beat), or it should be left up to the MIDI device to set the tempo(120 beats per minute by default, as mentioned above).
try
{
//////To reverse calculate the beats per minute(BPM) for a MIDI song given its total duration, time signature numerator, and denominator, you can follow these steps:
//////1.Convert microseconds to minutes:
//////Divide the total duration ttt in microseconds by the number of microseconds in a minute:
//////duration_minutes = ttt / (1000 * 1000 * 60)
//////2.Calculate beats based on time signature:
//////Multiply the time signature numerator n_known by the number of minutes:
//////beats = n_known * duration_minutes
//////3.Calculate BPM using denominator:
//////Divide the calculated beats by the time signature denominator d_known and multiply by 60 to convert to beats per minute:
//////bpm = (beats / d_known) * 60
//////Therefore, the formula for calculating BPM is:
//////bpm = ((n_known * ttt) / (d_known * 1000 * 1000 * 60)) * 60
//////Example:
//////Suppose a MIDI song has a total duration of 3, 000, 000 microseconds(3 seconds) and a time signature of 4 / 4.Using the formula:
//////bpm = ((4 * 3000000) / (4 * 1000 * 1000 * 60)) * 60
//////bpm = 120.0
//////Therefore, the calculated BPM for this example is 120.
this.public_double_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_DIRECT
= Math.Max(1, public_double_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_DIRECT)
;
//////this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED
////// =
////// /// (60000000 / this.public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS)
////// (60000000 / (double)this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS)
////// *
////// (
////// (double)this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
////// /
////// /// (double) this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
////// (double)this.public_double_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_DIRECT
////// );
///
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED
=
/// (60000000 / this.public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS)
((double)this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS / 60000000)
*
(
(double)this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
/
/// (double) this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
(double)this.public_double_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_DIRECT
)
*
60
;
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
//yes i have tested that the calculations are perfect
System.Windows.Forms.MessageBox.Show("MELODY_BPM_CALCULATED= " + this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED);
// this.label_MELODY_BPM_ESTIMATED.Text
this.label_MELODY_BPM_ESTIMATED.Text
=
"MELODY_BPM_ESTIMATED = "
+
////*this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED.ToString("G27")
this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED.ToString()
;
this.label_MELODY_BPM_ESTIMATED.Invalidate();
this.label_MELODY_BPM_ESTIMATED.Update();
}
catch (Exception ___excp_to_calculate_the_melodybpmcalculations)
{
System.Windows.Forms.MessageBox.Show("___excp_to_calculate_the_melodybpmcalculations = " + ___excp_to_calculate_the_melodybpmcalculations.Message + ___excp_to_calculate_the_melodybpmcalculations.StackTrace.ToString());
}//catch(Exception ___excp_to_calculate_the_melodybpmcalculations)
//////this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE
////// =
////// this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
////// /
////// this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
////// ;
this.label_CALCULATED_THE_MIDITICKS_PER_NOTE.Text
=
"MIDITICKS / NOTE ="
+ this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE.ToString()
+ " ===> " + revised_integer_miditicks_per_note.ToString()
;
////////////////////////////////////////////////////////////////////////////////////////////
double _double_midi_ticks_per_minute
=
//////this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
//////+" * "+
//////this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
//////+ "= " +
this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
*
this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
;
//////double _double_ticks_per_note
////// =
////// this.micro
////// this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
///////////////////////////////////////////////////////////////////////////////////////////////
///
//////this.public_double___label_CALCULATED_TOTAL_NUMBER_OF_MIDI_NOTES_IN_TOTAL_DURATION_OF_MIDI_TICKS
////// =
////// Math.Floor
////// (
////// this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
////// /
////// this.public_double___label_CALCULATED_DURATION_OF_MIDI_NOTES_IN_THE_MICROSECONDS___MICROSEC_PER_NOTE
////// )
////// ;
this.public_double___label_CALCULATED_TOTAL_NUMBER_OF_MIDI_NOTES_IN_TOTAL_DURATION_OF_MIDI_TICKS
=
Math.Floor
(
this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
/
this.public_double___label_CALCULATED_THE_MIDITICKS_PER_NOTE
);
///////////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_TOTAL_NUMBER_OF_MIDI_NOTES_IN_TOTAL_DURATION_OF_MIDI_TICKS.Text
=
this.public_double___label_CALCULATED_TOTAL_NUMBER_OF_MIDI_NOTES_IN_TOTAL_DURATION_OF_MIDI_TICKS
// .ToString()
.ToString("F11")
+ " LINEAR END TO END SEQUENCE OF NOTES FITS BEST";
///////////////////////////////////////////////////////////////////////////////////////////////
///this.CALCULATED_TOTAL_NUMBER_OF_MEASURES_FOUND_TOTAL_NUMBERS_OF_BARS_FOUND_IN_TOTAL_DURATION
this.public_double___label_CALCULATED_TOTAL_NUMBER_OF_MEASURES_FOUND_TOTAL_NUMBERS_OF_BARS_FOUND_IN_TOTAL_DURATION
=
Math.Ceiling
(
((double)this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS)
/
((double)this.public_double___label_CALCULATED_DURATION_OF_MIDI_MEASURE_BAR_SIZE_IN_TICKS_OF_MIDI)
);
///////////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_TOTAL_NUMBER_OF_MEASURES_FOUND_TOTAL_NUMBERS_OF_BARS_FOUND_IN_TOTAL_DURATION.Text
=
this.public_double___label_CALCULATED_TOTAL_NUMBER_OF_MEASURES_FOUND_TOTAL_NUMBERS_OF_BARS_FOUND_IN_TOTAL_DURATION
.ToString()
+
" LINEAR END TO END FITS BEST BAR MEASURES ";
///////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////// CATCH STARTS HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH STARTS HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH STARTS HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH STARTS HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH STARTS HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH STARTS HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH STARTS HERE TO FILL DEFAULT VALUES ////////////////
}
catch (Exception excp_to_convert_to_microseconds)
{
this.public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS
= 180000000;/// long type variable
public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
=
(
(int)(
public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS
/ 480
)
+ 1
)
* 480;
this.label_TOT_MICROSECONDS_DURATION_NX480_OR_N_X_TPQN
.Text
=
public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
.ToString();
////////////////////////////////////////////////////////////////////////////////////////////
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
= 4;//default numerator for beats per measure
/////////////////////////////////////////////////////////////////////////////////////////////
///TS MEANS TIME SIGNATURE
this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
= 4; ////// default denominator notes per beat is 2^2 that is the 4 (we take it as 4)
////////////////////////////////////////////////////////////////////////
///tooooooooo important data
///
this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
= 480;/// default is 8 x 60
/////////////////////////////////////////////////////////////////////////////////
///
this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
= 120;///default
this.public_long_FOR___label_CALCULATED_DATA_MICROTEMPO_THAT_IS_MICROSECONDS_PER_BEAT
=
(long)
(
60000000
/
this.PUBLIC_DOUBLE_BPM_VALUE_FROM___textBoxFOR_BEATS_PER_MINUTE
);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
=
(
this.public_long_FOR___label_CALCULATED_DATA_MICROTEMPO_THAT_IS_MICROSECONDS_PER_BEAT
/
this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480
);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK.Text
=
"MICROSEC/MIDITICK=" + this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
.ToString()
;
/////////////////////////////////////////////////////////////////////////
System.Windows.Forms.MessageBox.Show("reaching here MELODY_BPM_CALCULATED to calculate " );
try
{
this.public_double_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_DIRECT
= Math.Max(1, public_double_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_DIRECT)
;
this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED
=
/// (60000000 / this.public_long_total_microsecond_of_song___from___textBox_FOR_MIDI_TOTAL_DURATIONS_MICROSECONDS)
(60000000 / (double)this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS)
*
(
(double)this.public_integer_time_signatures_numerator_value_taken_from_text_box_textBox_TS_NUMERATOR_IS_BEATS_PER_MEASURE_OR_BARSIZE_PER_TPQN_TO_REPRESENT
/
/// (double) this.public_integer_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_N_TH_POWER_OF_2
(double)this.public_double_time_signatures_denominators_value_taken_from_text_box_directly_for_textBox_TS_DENOMINATOR_IS_THE_NOTES_PER_BEAT_OF_TIME_SIGNATURE_NOTES_PER_BEAT_IT_IS_DIRECT
);
System.Windows.Forms.MessageBox.Show("MELODY_BPM_CALCULATED= " + this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED);
// this.label_MELODY_BPM_ESTIMATED.Text
this.label_MELODY_BPM_ESTIMATED.Text
=
"MELODY_BPM_ESTIMATED = "
+
////*/*/*this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED.ToString("G27")*/*/*/
this.public_double___reverse_calculated_data_for___MELODY_BPM_ESTIMATED.ToString()
;
this.label_MELODY_BPM_ESTIMATED.Invalidate();
this.label_MELODY_BPM_ESTIMATED.Update();
}
catch (Exception ___excp_to_calculate_the_melodybpmcalculations)
{
System.Windows.Forms.MessageBox.Show("___excp_to_calculate_the_melodybpmcalculations = " + ___excp_to_calculate_the_melodybpmcalculations.Message + ___excp_to_calculate_the_melodybpmcalculations.StackTrace.ToString());
}//catch(Exception ___excp_to_calculate_the_melodybpmcalculations)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
=
(long)
(
(double)
this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
/
this.public_double_calculated_data_from_bpm_from_ticks_per_beat_k_times_480___for___label_CALCULATED_VALUE_MICROSECOND_PER_MIDI_TICK
);
/////////////////////////////////////////////////////////////////////////////////////////////////////
this.label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS.Text
= "TOT_MIDITICS= " +
this.public_long___calculated_data_for___label___for___CALCULATED_TOTAL_DURATION_WITH_MIDITICKS
.ToString();
}//catch(Exception excp_to_convert_to_microseconds)
////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
///
////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
try
{
//////public double PUBLIC_DOUBLE___TOTAL_WEIGHT_IS_SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES = 0.000000000000001;
//////public double PUBLIC_DOUBLE___TOTAL_WEIGHTFACTOR_IS_TOTAL_NOTES_IN_THE_SONG_DIVIDED_WITH___SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES = 0;
//////public double PUBLIC_DOUBLE___TOT_MILLISECONDS = 0;
//////public double PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions = 0;
//////public double PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions = 0;
//////public double PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied = 0;
//////public int PUBLIC_INT___TOTAL_NOTES_IN_THE_SONG = 0;
//////public int PUBLIC_INT___TPQN___TICKS_PER_QUARTERNOTES_480_K = 0;
///
//////////////////////////////FLUSHING THE DATA FIRST ///////////////////////
this.PUBLIC_DOUBLE___TOTAL_WEIGHT_IS_SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES = 0.000000000000001;
this.PUBLIC_DOUBLE___TOTAL_WEIGHTFACTOR_IS_TOTAL_NOTES_IN_THE_SONG_DIVIDED_WITH___SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES = 0;
this.PUBLIC_DOUBLE___TOT_MILLISECONDS = 0;
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions = 0;
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions = 0;
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied = 0;
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG = 0;
this.PUBLIC_INT___TPQN___TICKS_PER_QUARTERNOTES_480_K = 0;
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES = 0;
//////////////////////////////FLUSHING THE DATA FIRST ///////////////////////
/// textBox___TOTAL_NOTES_TO_PLAN_ITERATES
///
this.PUBLIC_DOUBLE___TO_REITERATE_TO_FIND___FOR_textBox___TOTAL_NOTES_TO_PLAN_ITERATES = 0;
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES = 0;
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS = 0;
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS = 0;
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS = 0;
//////////////////////////////////////////////////////// REPOPULATING DATA HERE ///////////////////////
//////////////////////////////////////////////////////// REPOPULATING DATA HERE ///////////////////////
//////////////////////////////////////////////////////// REPOPULATING DATA HERE ///////////////////////
/// i have done it to micro seconds i think
// public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
this.PUBLIC_DOUBLE___TOT_MILLISECONDS
=
this.public_long_total_RECALCULATED_WITH_MULTIPLE_OF_480_OR_TPQN__FROM_THE_TPQN_TEXT_BOX_FOR_MIDI_TOTAL_DURATIONS_MILLISECONDS
/ 1000;
goto_here_if___mismatch___this___PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES:;
try
{
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions = Convert.ToDouble(this.textBox_DRUMS_RECOGNITIONS_MILLISECONDS.Text.ToString().TrimEnd().TrimStart().Trim());
}
catch (Exception ___excptoreadtextboxtoconverttodata)
{
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions = 50;
}//catch(Exception ___excptoreadtextboxtoconverttodata)
try
{
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions = Convert.ToDouble(this.textBox__STRINGS_RECOGNITIONS_MILLISECONDS.Text.ToString().TrimEnd().TrimStart().Trim());
}
catch (Exception ___excptoreadtextboxtoconverttodata)
{
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions = 110;
}//catch(Exception ___excptoreadtextboxtoconverttodata)
try
{
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied = Convert.ToDouble(this.textBox__WINDS_RECOGNITIONS_MILLISECONDS.Text.ToString().TrimEnd().TrimStart().Trim());
}
catch (Exception ___excptoreadtextboxtoconverttodata)
{
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied = 300;
}//catch(Exception ___excptoreadtextboxtoconverttodata)
try
{
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS
= Convert.ToDouble(this.textBox_TOTAL_DRUMS_NOTES_COUNT.Text.ToString().TrimEnd().TrimStart().Trim());
}
catch (Exception ___excptoreadtextboxtoconverttodata)
{
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS = 1100;
}//catch(Exception ___excptoreadtextboxtoconverttodata)
try
{
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS
= Convert.ToDouble(this.textBox_TOTAL_STRING_NOTES_COUNT.Text.ToString().TrimEnd().TrimStart().Trim());
}
catch (Exception ___excptoreadtextboxtoconverttodata)
{
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS = 3300;
}//catch(Exception ___excptoreadtextboxtoconverttodata)
try
{
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS
= Convert.ToDouble(this.textBoxTOTAL_WIND_NOTES_COUNT.Text.ToString().TrimEnd().TrimStart().Trim());
}
catch (Exception ___excptoreadtextboxtoconverttodata)
{
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS = 660;
}//catch(Exception ___excptoreadtextboxtoconverttodata)
////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG
=
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS
+
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS
+
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS
;
////////////////////////////////////////////////////////////////////////////////////////
this.label_TOTAL_NOTES_COUNT.Text
=
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG.ToString() + " NOTES";
////////////////////////////////////////////////////////////////////////////////////////
try
{
this.PUBLIC_DOUBLE___TO_REITERATE_TO_FIND___FOR_textBox___TOTAL_NOTES_TO_PLAN_ITERATES
= Convert.ToDouble(this.textBox___TOTAL_NOTES_TO_PLAN_ITERATES.Text.ToString().TrimEnd().TrimStart().Trim());
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES
= Convert.ToDouble(this.textBox___TOTAL_NOTES_TO_PLAN_ITERATES.Text.ToString().TrimEnd().TrimStart().Trim());
}
catch (Exception ___excptoreadtextboxtoconverttodata)
{
this.PUBLIC_DOUBLE___TO_REITERATE_TO_FIND___FOR_textBox___TOTAL_NOTES_TO_PLAN_ITERATES
= this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG;
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES
=
0;
}//catch(Exception ___excptoreadtextboxtoconverttodata)
this.PUBLIC_INT___TPQN___TICKS_PER_QUARTERNOTES_480_K
=
(int)this.public_double___value_from_the___textBox_TS_MIDI_TICKS_PER_BEAT_OR_TPQN_NUMBER_MULTIPLE_OF_480;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___TOTAL_WEIGHT_IS_SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
=
/// 0.000000000000001;
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions
+
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions
+
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_WEIGHT_SENSITIVITY_FOUND___TOTAL_RECOGNIZER_MILLISECONDS_FOR_3_TYPES_OF_INSTRUMENTS.Text
=
this.PUBLIC_DOUBLE___TOTAL_WEIGHT_IS_SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
.ToString() + " milliseconds 3 instruments SENSITIVITY";
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___TOTAL_WEIGHTFACTOR_IS_TOTAL_NOTES_IN_THE_SONG_DIVIDED_WITH___SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
=
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG
/
this.PUBLIC_DOUBLE___TOTAL_WEIGHT_IS_SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label___WEIGHT_SENSITIVITY_FACTOR_FOR_3_TYPES_OF_INSTRUMENTS.Text
=
this.PUBLIC_DOUBLE___TOTAL_WEIGHTFACTOR_IS_TOTAL_NOTES_IN_THE_SONG_DIVIDED_WITH___SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
.ToString("F11")
+ " weight factor(est notes count / weight sensitivity)"
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// revising the estimated drums notes
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS
=
/// this.PUBLIC_DOUBLE___TO_REITERATE_TO_FIND___FOR_textBox___TOTAL_NOTES_TO_PLAN_ITERATES
this.PUBLIC_DOUBLE___TOT_MILLISECONDS
/
(
(
this.PUBLIC_DOUBLE___TOTAL_WEIGHTFACTOR_IS_TOTAL_NOTES_IN_THE_SONG_DIVIDED_WITH___SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
*
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions
)
+
(
this.PUBLIC_DOUBLE___TOTAL_WEIGHTFACTOR_IS_TOTAL_NOTES_IN_THE_SONG_DIVIDED_WITH___SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
*
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions
)
+
(
this.PUBLIC_DOUBLE___TOTAL_WEIGHTFACTOR_IS_TOTAL_NOTES_IN_THE_SONG_DIVIDED_WITH___SUM_OF_MILLISECONDS_OF_MIN_NECESSARY_RECOGNIZER_FOR_DRUMS_PLUS_STRINGS_PLUS_WINDS_NOTES
*
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied
)
);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.textBox_TOTAL_DRUMS_NOTES_COUNT.Text
=
( (int)(this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS)).ToString();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
///
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS
=
(
// (int)
(
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS
*
(
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions
/
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions
)
)
)
//.ToString()
;
////////////////////////////////////////////////////////////////////
this.textBox_TOTAL_STRING_NOTES_COUNT.Text
=
((int)this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS).ToString();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
///
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS
=
(
// (int)
(
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS
*
(
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions
/
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied
)
)
)
// .ToString();
;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.textBoxTOTAL_WIND_NOTES_COUNT.Text
=
((int)this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS).ToString();
//////// Solve for D, S, W
//////double totalWeight = t_Drums_min_milliseconds + t_Strings_min_milliseconds + t_Winds_min_milliseconds;
//////double weightFactor = TOTAL_NOTES_IN_THE_SONG / totalWeight;
//////double D = TOT_MILLISECONDS / (weightFactor * t_Drums_min_milliseconds + t_Strings_min_milliseconds + t_Winds_min_milliseconds);
//////double S = D * (t_Drums_min_milliseconds / t_Strings_min_milliseconds);
//////double W = D * (t_Drums_min_milliseconds / t_Winds_min_milliseconds);
//////Console.WriteLine($"D (Percussive Notes): {D}");
//////Console.WriteLine($"S (String Notes): {S}");
//////Console.WriteLine($"W (Wind Notes): {W}");
//////// Calculate TOT_MINUTES
//////double TOT_MINUTES = TOT_MILLISECONDS / 60000.0;
//////// Calculate BPM
//////double BPM = TOTAL_NOTES_IN_THE_SONG / TOT_MINUTES;
//////Console.WriteLine($"BPM: {BPM}");
//////// MIDI Ticks Calculation
//////double Note_duration_ticks = (BPM * TOT_MILLISECONDS) / (60000.0 * TPQN___TICKS_PER_QUARTERNOTES_480_K);
//////Console.WriteLine($"Note duration in ticks: {Note_duration_ticks}");
////////////////////////////////////////////////////////////////////////////////////////
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG
=
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS
+
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS
+
this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS
;
////////////////////////////////////////////////////////////////////////////////////////
this.textBox___TOTAL_NOTES_TO_PLAN_ITERATES.Text
=
((int)this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG)
.ToString();
/////////////////////////////will do reiterations
try
{
this.public_double_centi_degrees_per_milliseconds___for_reverse_calculations_of_lengths_on_dxf = 0;
this.public_double_centi_degrees_per_milliseconds___for_reverse_calculations_of_lengths_on_dxf
=
( 1 / this.public_double_milliseconds_per_centi_degrees);
///radians calculations not done for this
}
catch (Exception ___excp_to_convert_given_radius)
{
}//catch(Exception ___excp_to_convert_given_radius)
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
try
{
this.public_double_degrees_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf = 0;
this.public_double_degrees_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
=
( 1 /
this.public_double_milliseconds_per_UNIT_SINGLE_degrees
)
;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf = 0;
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
=
this.public_double_degrees_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
* Math.PI / 180;
}
catch (Exception ___excp_to_convert_given_radius)
{
}//catch(Exception ___excp_to_convert_given_radius)
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
try
{
this.PUBLIC_DOUBLE_GIVEN_RADIUS_AS_FREQUENCY_TO_CHECK_SIZED_OF_DIFFERENT_NOTES_ON_TANGENT_OF_CIRCUMFERENCES_FOR_GIVEN_FREQUENCY___textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS
=
Convert.ToDouble
(
this.textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS
.Text
.TrimEnd().TrimStart().Trim().Replace(" ", "")
);
this.textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS.BackColor = Color.White;
}
catch (Exception ___excp_to_convert_given_radius)
{
this.textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS.BackColor = Color.PaleVioletRed;
this.PUBLIC_DOUBLE_GIVEN_RADIUS_AS_FREQUENCY_TO_CHECK_SIZED_OF_DIFFERENT_NOTES_ON_TANGENT_OF_CIRCUMFERENCES_FOR_GIVEN_FREQUENCY___textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS
=
100;
}//catch(Exception ___excp_to_convert_given_radius)
//////public double PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE_GIVEN_RADIUS_AS_FREQUENCY_TO_CHECK_SIZED_OF_DIFFERENT_NOTES_ON_TANGENT_OF_CIRCUMFERENCES_FOR_GIVEN_FREQUENCY = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions = 0;
//////public double PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions = 0;
//////public double PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied = 0;
///
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// for the drums beats the maximum milliseconds is given and the frequency circle data is given
/// so we need the estimates to draw the dxf files properly such that we can know how to generate the notes tangentially to construct the notes
/// such that we can prepare the geometry properly well calculated
this.PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES
=
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions
*
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
*
this.PUBLIC_DOUBLE_GIVEN_RADIUS_AS_FREQUENCY_TO_CHECK_SIZED_OF_DIFFERENT_NOTES_ON_TANGENT_OF_CIRCUMFERENCES_FOR_GIVEN_FREQUENCY___textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS
;
this.PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES
=
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions
*
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
*
this.PUBLIC_DOUBLE_GIVEN_RADIUS_AS_FREQUENCY_TO_CHECK_SIZED_OF_DIFFERENT_NOTES_ON_TANGENT_OF_CIRCUMFERENCES_FOR_GIVEN_FREQUENCY___textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS
;
this.PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES
=
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied
*
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
*
this.PUBLIC_DOUBLE_GIVEN_RADIUS_AS_FREQUENCY_TO_CHECK_SIZED_OF_DIFFERENT_NOTES_ON_TANGENT_OF_CIRCUMFERENCES_FOR_GIVEN_FREQUENCY___textBox_PRECALC_NOTES_LENGTHS_FITS_FOR_FREQ_AS_RADIUS
;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////public double PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES = 0;
//////public double PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES = 0;
this.PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES
=
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions
*
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
*
(440)
;
this.PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES
=
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions
*
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
*
(440)
;
this.PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES
=
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied
*
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf
*
(440)
;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_ESTIMATED_LENGTHS_DRUMS_STRINGS_WINDS_AT_GIVEN_FREQUENCY.Text
=
"for_drums MAX length = "
+
this.PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES
.ToString("F3")
+ " FOR STRINGS MAX LENGTH = "
+
this.PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES
.ToString("F3")
+ " FOR WINDS MIN(ITS MIN) LENGTH = "
+ this.PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_GIVEN_FREQUENCY_CIRCLE_CIRCUMFERENCES
.ToString("F3");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this.label_ESTIMATED_LENGTHS_DRUMS_STRINGS_WINDS_AT_440_FREQUENCY_REFERENCES.Text
=
"ref radius = freq = 440 drums_max_length = "
+
this.PUBLIC_DOUBLE___ESTIMATED_DRUMS_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES
.ToString("F3")
+ " strings_max_length= "
+
this.PUBLIC_DOUBLE___ESTIMATED_STRING_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES
.ToString("F3")
+ " WINDS MIN(ITS MIN) LENGTH = "
+ this.PUBLIC_DOUBLE___ESTIMATED_WIND_BEAT_NOTES_TANGENTIAL_CIRCUMFERENTIAL_MAXIMUM_LENGTH_ON_440_CIRCLE_CIRCUMFERENCES
.ToString("F3");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
/// public double PUBLIC_DOUBLE___MIDITKS_TO_MILLISECOND_CONVERTER_FOR_THIS_CONTEXT = 1;
/// public double PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT = 1;
this.label_MILLISEC_PER_CENTIDEGREES.Text
=
"MILLISECONDS/CENTIDEGREES= " +
this.public_double_milliseconds_per_centi_degrees.ToString("F6")
+ " so millisec/ degrees = "
+
this.public_double_milliseconds_per_UNIT_SINGLE_degrees.ToString("F3")
+
" radians/millisecond= "
+
this.public_double_radians_per_UNIT_SINGLE_milliseconds___for_reverse_calculations_of_lengths_on_dxf.ToString("F6")
;
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
/// public double PUBLIC_DOUBLE___MIDITKS_TO_MILLISECOND_CONVERTER_FOR_THIS_CONTEXT___MILLISECONDS_PER_MIDITKS = 1;
/// public double PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT___MIDITKS_PER_MILLISECONDS = 1;
///
////////////////public double PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions = 0;
////////////////public double PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions = 0;
////////////////public double PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied = 0;
this.PUBLIC_DOUBLE___t_Drums_max_MIDITKS_is_min_for_t_Strings_transitions = 0;
this.PUBLIC_DOUBLE___t_Strings_max_MIDITKS_is_t_winds_min_data_transitions = 0;
this.PUBLIC_DOUBLE___t_Winds_min_MIDITKS_is_same_as_t_Strings_max_data_supplied = 0;
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
this.PUBLIC_DOUBLE___t_Drums_max_MIDITKS_is_min_for_t_Strings_transitions
=
this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions
*
this.PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT___MIDITKS_PER_MILLISECONDS;
this.PUBLIC_DOUBLE___t_Strings_max_MIDITKS_is_t_winds_min_data_transitions
=
this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions
*
this.PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT___MIDITKS_PER_MILLISECONDS;
this.PUBLIC_DOUBLE___t_Winds_min_MIDITKS_is_same_as_t_Strings_max_data_supplied
=
this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied
*
this.PUBLIC_DOUBLE___MILLISECOND_TO_MIDITKS_CONVERTER_FOR_THIS_CONTEXT___MIDITKS_PER_MILLISECONDS;
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
this.label_THE_MIDITKS_DURATIONS_CONVERTED_FROM_MILLISECONDS_FROM_THE_DRUMS_MAX_STRINGS_MIN_TO_MAX_WINDS_MIN.Text
=
"for MAX_DRUMS(miditks) = "
+
this.PUBLIC_DOUBLE___t_Drums_max_MIDITKS_is_min_for_t_Strings_transitions
.ToString("F3")
+ " MIN_STRING(miditks) = "
+
this.PUBLIC_DOUBLE___t_Strings_max_MIDITKS_is_t_winds_min_data_transitions
.ToString("F3")
+ " STRINGS_MAX=WINDS MIN(ITS MIN)(miditks) = "
+ this.PUBLIC_DOUBLE___t_Winds_min_MIDITKS_is_same_as_t_Strings_max_data_supplied
.ToString("F3");
;
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
if (this.public_double_milliseconds_per_UNIT_SINGLE_degrees > this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions)
{
this.label_MILLISEC_PER_CENTIDEGREES.BackColor = Color.PaleVioletRed;
this.label_MILLISEC_PER_CENTIDEGREES.ForeColor = Color.White;
}
else if (
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees > this.PUBLIC_DOUBLE___t_Drums_max_milliseconds_is_min_for_t_Strings_transitions)
&&
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees < this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions)
)
{
this.label_MILLISEC_PER_CENTIDEGREES.BackColor = Color.MediumVioletRed;
this.label_MILLISEC_PER_CENTIDEGREES.ForeColor = Color.White;
}
else if (
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees > this.PUBLIC_DOUBLE___t_Strings_max_milliseconds_is_t_winds_min_data_transitions)
&&
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees < this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied)
)
{
this.label_MILLISEC_PER_CENTIDEGREES.BackColor = Color.IndianRed;
this.label_MILLISEC_PER_CENTIDEGREES.ForeColor = Color.White;
}
else if (
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees > this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied)
&&
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees < this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied*1.6)
)
{
this.label_MILLISEC_PER_CENTIDEGREES.BackColor = Color.OrangeRed;
this.label_MILLISEC_PER_CENTIDEGREES.ForeColor = Color.White;
}
else if (
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees > this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied*1.6)
&&
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees < this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied * 2.2)
)
{
this.label_MILLISEC_PER_CENTIDEGREES.BackColor = Color.Red;
this.label_MILLISEC_PER_CENTIDEGREES.ForeColor = Color.White;
}
else if (
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees > this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied * 2.2)
&&
(this.public_double_milliseconds_per_UNIT_SINGLE_degrees < this.PUBLIC_DOUBLE___t_Winds_min_milliseconds_is_same_as_t_Strings_max_data_supplied * 6.1)
)
{
this.label_MILLISEC_PER_CENTIDEGREES.BackColor = Color.DarkRed;
this.label_MILLISEC_PER_CENTIDEGREES.ForeColor = Color.White;
}
else
{
this.label_MILLISEC_PER_CENTIDEGREES.BackColor = Color.LightBlue;
this.label_MILLISEC_PER_CENTIDEGREES.ForeColor = Color.Black;
}// if(this.public_double_milliseconds_per_UNIT_SINGLE_degrees>100)
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
///////////////////////////////////////////////////////// TOO IMPORTANT CALCULATIONS FOR SPACE PLANNING AROUND THE CIRCUMFERENCES OF DIFFERENT RADIUS ////////
if
(
this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES
!=
PUBLIC_DOUBLE___TO_REITERATE_TO_FIND___FOR_textBox___TOTAL_NOTES_TO_PLAN_ITERATES
)
{
goto goto_here_if___mismatch___this___PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES;
}
//////if
////// (
////// this.PUBLIC_DOUBLE___TOTAL_NOTES_IN_THE_SONG___TO___PLAN___FROM___TEXTBOX_DATA_TO_ACHIEVES
////// <
////// PUBLIC_DOUBLE___TO_REITERATE_TO_FIND___FOR_textBox___TOTAL_NOTES_TO_PLAN_ITERATES
////// )
//////this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Drums_NOTES_COUNTS = 0;
//////this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Strings_NOTES_COUNTS = 0;
//////this.PUBLIC_DOUBLE___COUNT_ESTIMATED_Winds_NOTES_COUNTS = 0;
}
catch (Exception excp___next_level_calculations)
{
}//catch(Exception excp___next_level_calculations)
////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
/// ////////////////////////////// CATCH COMPLETES HERE TO FILL DEFAULT VALUES ////////////////
return;
}// public void RECALCULATE_THE_MIDI_DATA_MICROSECONDS_NOTES_ETC()
No comments:
Post a Comment