예제 #1
0
    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)
예제 #2
0
 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))
예제 #3
0
    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)
예제 #4
0
    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
예제 #5
0
 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))
예제 #6
0
 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]
예제 #7
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)
예제 #8
0
    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)
예제 #9
0
    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)
예제 #10
0
    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)
예제 #11
0
 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
예제 #12
0
    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)
예제 #13
0
    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)
예제 #14
0
    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
예제 #15
0
 def scale(self):
     return float(findsetting("ScaleFactor")) if isfloat(findsetting("ScaleFactor")) else 1