summaryrefslogtreecommitdiff
path: root/src/sliceitoff/sfx/sfx.py
blob: f9347df3e1cd303c2de88710978000e71a800c6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
""" sfx.sfx - pygame.mixer initialization and sound effects handling """
import pygame

class Sfx:
    """ Sound Effects and Music? """
    def __init__(self):
        self.initialized = False
        try:
            pygame.mixer.pre_init(channels=2, buffer=512, frequency=48000)
        except pygame.error:
            pass

    def init(self, base_path):
        """ To be called after pygame is initialized. Actual mixer init and
            sample loading happens here """
        try:
            pygame.mixer.init()
            self.initialized = True
        except pygame.error:
            pass

# Initialize only one time
try:
    # pylint: disable = used-before-assignment
    # This is intented behaviour
    sfx
except NameError:
    sfx = Sfx()