def __init__(self, filename = "", sid_params = {}, force_read_timestamp = False):
        self.version = "1.4 20150801"
        self.filename = filename
        self.sid_params = sid_params    # dictionary of all header pairs
        self.is_extended = False
        self.timestamp_format = SidFile._TIMESTAMP_STANDARD

        if filename:
            # Read all lines in a buffer used by 'read_data' and 'read_header'
            try:
                with open(self.filename, "rt") as fin:
                    self.lines = fin.readlines()
            except IOError as why:
                print("Error reading", filename)
                print(str(why))
                exit(1)

            self.read_header()
            self.read_timestamp_format()
            self.control_header()
            self.read_data(force_read_timestamp)

        elif self.sid_params:
            # create zeroes numpy arrays to receive data
            self.control_header()
            self.clear_buffer()
    ##
    ##  Read a SID File and control header's consistency
    ##
Two ways to create a SIDfile:
dataset/ETHPy150Open ericgibert/supersid/supersid/sidfile.py/SidFile.__init__