def mod_setup(self): print("Frequency (Rounded to integers)") while True: freq_str = input(">>>") if isfloat(freq_str): break self.freq = max(float(freq_str), 1) print("Amplitude") while True: amp_str = input(">>>") if isfloat(amp_str): break self.amp = 50 * float(amp_str)
def mod_setup(self): print("(Don) Angle in Degrees") while True: d_angle_str = input(">>>") if isfloat(d_angle_str): break self.d_angle = muma.note_mods.sbUtils.sbUtils.convert_deg_to_rad( float(d_angle_str)) print("(Kat) Angle in Degrees") while True: k_angle_str = input(">>>") if isfloat(d_angle_str): break self.k_angle = muma.note_mods.sbUtils.sbUtils.convert_deg_to_rad( float(k_angle_str))
def mod_setup(self): print("Frequency (Rounded to integers)") while True: freq_str = input(">>>") if isfloat(freq_str): break self.freq = max(int(float(freq_str)), 1) print("Amplitude") while True: amp_str = input(">>>") if isfloat(amp_str): break self.amp = 25 * float(amp_str) self.array_tweens = muma.note_mods.sbUtils.sbUtils.getwavetween(2)
def setup(self): print("Scroll Speed Multiplier") while True: speed_str = input(">>>") if isfloat(speed_str): break self.scroll = max(float(speed_str), 0.001) print("Reverse?\t0=No\t1=Yes") while True: r_ = input(">>>") if r_.isdigit() and 0 <= int(r_) <= 1: break self.is_reverse = False if int(r_) == 0 else True print("Upside down?\t0=No\t1=Yes") while True: r_ = input(">>>") if r_.isdigit() and 0 <= int(r_) <= 1: break self.is_upside_down = False if int(r_) == 0 else True print("Mirror notes?\t0=No\t1=Yes") while True: r_ = input(">>>") if r_.isdigit() and 0 <= int(r_) <= 1: break self.is_mirror = False if int(r_) == 0 else True
def mod_setup(self): print("Angle in Degrees") while True: angle_str = input(">>>") if isfloat(angle_str): break self.angle = muma.note_mods.sbUtils.sbUtils.convert_deg_to_rad(float(angle_str))
def mod_setup(self): print("Frequency (Rounded to integers)") while True: freq_str = input(">>>") if isfloat(freq_str): break self.freq = max(int(float(freq_str)), 1) self.tween = muma.note_mods.sbUtils.sbUtils.getwavetween(1)[0]
def scale_big_clock(note): scale = float(findsetting("ScaleFactor")) if isfloat( findsetting("ScaleFactor")) else 1 if Hitsound(note.hs).isfinish(): return " S,0,{},,{}\n".format(note.t, 0.25 * scale) else: return " S,0,{},,{}\n".format(note.t, 0.175 * scale)
def mod_setup(self): print("Frequency (Rounded to integers)") while True: freq_str = input(">>>") if isfloat(freq_str): break self.freq = max(int(float(freq_str)), 1) print("Amplitude") while True: amp_str = input(">>>") if isfloat(amp_str): break self.amp = 25 * float(amp_str) print("\n\n\n--VERTICAL PART--") self.array_tweens_vert = muma.note_mods.sbUtils.sbUtils.getwavetween(3) print("\n\n\n--HORIZONTAL PART--") self.array_tweens_horiz = muma.note_mods.sbUtils.sbUtils.getwavetween(2)
def mod_setup(self): print("Amplitude") while True: amp_str = input(">>>") if isfloat(amp_str): break self.amp = 25 * float(amp_str) print("Beginning of Vibration") while True: beg_str = input(">>>") if isfloat(beg_str): break self.begin = int(beg_str) print("Beginning of Vibration") while True: end_str = input(">>>") if isfloat(end_str): break self.end = int(end_str)
def mod_setup(self): print("Length of a Clock revolution in beats") while True: len_str = input(">>>") if isfloat(len_str): break self.beat_len = min(float(len_str), 32) print("Radius of the clock") while True: rad_srt = input(">>>") if rad_srt.isdigit(): break self.clock_rad = int(rad_srt)
def tan_scale(note, freq, bpm): scale = float(findsetting("ScaleFactor")) if isfloat( findsetting("ScaleFactor")) else 1 size = 0.50 if Hitsound(note.hs).isfinish() else 0.35 period = 4. / freq scale_str = "" for x in range(freq, 0, -1): scale_str += " S,15,{},{},{},{}\n".format( int(note.t - 60000 / bpm * (x - 0.0) * period), int(note.t - 60000 / bpm * (x - 0.5) * period), size * scale, 10 * size * scale) scale_str += " S,16,{},{},{},{}\n".format( int(note.t - 60000 / bpm * (x - 0.5) * period), int(note.t - 60000 / bpm * (x - 1.0) * period), 0, size * scale) return scale_str
def overlay_clock(note, color): scale = float(findsetting("ScaleFactor")) if isfloat( findsetting("ScaleFactor")) else 1 if Hitsound(note.hs).isfinish(): return "Sprite,Foreground,Centre,\"{}.png\",320,240\n".format("bigcirc_inv" if color == 8 else "taikobigcircleoverlay" if findsetting( "UseSkinElements") else "SB/notebig-overlay") \ + " S,0,{},,{}\n".format(note.t, 0.25 * scale) else: return "Sprite,Foreground,Centre,\"{}.png\",320,240\n".format("hitcirc_inv" if color == 8 else "taikohitcircleoverlay" if findsetting( "UseSkinElements") else "SB/note-overlay") \ + " S,0,{},,{}\n".format(note.t, 0.175 * scale)
def dostoryboard(self): confirmation = "" notes_sb = None while confirmation.lower() != "y": notes_sb = [] beginning_str = end_str = bpm_str = "" print("Beginning of the SB Mod:") while not beginning_str.isdigit(): beginning_str = input(">>>") beginning = int(beginning_str) print("End of the SB Mod:") while not end_str.isdigit(): end_str = input(">>>") end = int(end_str) if beginning > end: end, beginning = beginning, end for n in self.notes: if beginning <= n.t < end: notes_sb = notes_sb + [n] print("Scrolling speed (BPM x Green SV):") while not utils.isfloat(bpm_str): bpm_str = input(">>>") self.scroll = float(bpm_str) print( "The current section spans from {}ms to {}ms, and has {} notes.".format(beginning, end, len(notes_sb))) print("The notes will scroll at {} BPM.".format(self.scroll)) confirmation = input("Would you like to continue? 'y' to continue, 'q' to quit, other to restart. ") if confirmation.lower() == 'q': sys.exit() self.choices(notes_sb)
def make_sb(self): out = "" scale = float(findsetting("ScaleFactor")) if isfloat(findsetting("ScaleFactor")) else 1 # Main Black Bar out += "Sprite,Background,Centre,\"{}.png\",320,240\n".format("taiko-bar-right" if findsetting("UseSkinElements") else "SB/black_bar") out += " F,0,0,500000,1\n" out += " M,0,0,500000,320,{}\n".format(findsetting("Receptor_Y")) out += " V,0,0,500000,1,{}\n".format(0.4 * scale) # Receptor out += "Sprite,Foreground,Centre,\"{}.png\",320,240\n".format("approachcircle" if findsetting("UseSkinElements") else "SB/point") out += " S,0,0,500000,{}\n".format(0.4 * scale) out += " F,0,0,500000,1\n" out += " M,0,0,500000,{},{}\n".format(findsetting("Receptor_X"), findsetting("Receptor_Y")) # Taiko Left Portion out += "Sprite,Foreground,Centre,\"{}.png\",320,240\n".format("taiko-bar-left" if findsetting("UseSkinElements") else "SB/taiko_left") out += " M,0,0,500000,{},{}\n".format(int(findsetting("CounterCentreLeft")) - 60, findsetting("Receptor_Y")) out += " F,0,0,50000,1\n" out += " S,0,0,500000,{}\n".format(0.4 * scale) return out
def scale(self): return float(findsetting("ScaleFactor")) if isfloat(findsetting("ScaleFactor")) else 1