示例#1
0
 def change_volume(change_by: int) -> None:
     factor = 1.41 if change_by >= 0 else (1 / 1.41)
     v = MainLoader.get(ConfigName.drum_volume, 1) * factor
     if v * DrumLoader.max_volume >= SD_MAX:
         return
     if v * DrumLoader.max_volume < 0.01 * SD_MAX:
         return
     MainLoader.set(ConfigName.drum_volume, v)
     MainLoader.save()
     DrumLoader.prepare_all(DrumLoader.length)
示例#2
0
 def setvolume(self, vol: int, out: bool):
     if vol > 100 or vol < 0:
         return
     if out:
         self.__vol_out = vol
         MainLoader.set("MIXER_OUT", vol)
     else:
         self.__vol_in = vol
         MainLoader.set("MIXER_IN", vol)
     MainLoader.save()
示例#3
0
 def setvolume(self, vol: int, out: bool):
     if vol > 100 or vol < 0:
         return
     if out:
         self.__out.setvolume(vol)
         MainLoader.set("MIXER_OUT", vol)
     else:
         self.__in.setvolume(vol, alsaaudio.MIXER_CHANNEL_ALL,
                             alsaaudio.PCM_CAPTURE)
         MainLoader.set("MIXER_IN", vol)
     MainLoader.save()
示例#4
0
    def change_swing(change_by: int) -> None:
        v = MainLoader.get(ConfigName.drum_swing, 0.625)
        v += (0.25 / 4) if change_by >= 0 else (-0.25 / 4)
        if v > 0.80:
            v = 0.50
        elif v < 0.45:
            v = 0.75

        MainLoader.set(ConfigName.drum_swing, v)
        MainLoader.save()
        DrumLoader.prepare_all(DrumLoader.length)
示例#5
0
    def load_drum_type(self) -> None:
        if self.__file_finder.now == self.__file_finder.next:
            return
        self.__file_finder.now = self.__file_finder.next
        tmp = self.__file_finder.get_path_now()

        DrumLoader.load(tmp)
        MainLoader.set(ConfigName.drum_type, self.__file_finder.get_item_now())
        MainLoader.save()

        if not self.is_empty:
            self.prepare_drum(self.length)