<commit_before>#ifndef INTERPRETER_H_
#define INTERPRETER_H_
#include <istream>
#include <ostream>
#include <fstream>
#include <sstream>
#include <cstring>
#include <stdio.h>
#include <ctype.h>
#include <ctgmath> //logb

#include "song.h"
#include "instrument.h"
#include "pattern.h"
#include "generator.h"


namespace itrp
{


    struct Track
    {
        unsigned char *ptbl;
        float lastfrq;
        float frq;
        float nextfrq;
        float phase;

        unsigned short segments;
        unsigned char fx;
        unsigned char fxparam;
        Instrument *inst;

        unsigned short wavei;
        unsigned char lastwave;
        unsigned char waveduracc;

        //VOLUME
        unsigned char ptrnvol;
        unsigned char ptrnlastvol;
        unsigned char voljump;

        unsigned char lastvol;
        unsigned char voli;
        unsigned char volduracc;
    };

    //not implemented yet
    char **songpaths;
    int numsongs;
    

    Song *song;
    Track *tracks;
    Pattern *curpattern;
    unsigned char order;<commit_msg>added Pulse index to track structure<commit_after>#ifndef INTERPRETER_H_
#define INTERPRETER_H_
#include <istream>
#include <ostream>
#include <fstream>
#include <sstream>
#include <cstring>
#include <stdio.h>
#include <ctype.h>
#include <ctgmath> //logb

#include "song.h"
#include "instrument.h"
#include "pattern.h"
#include "generator.h"


namespace itrp
{


    struct Track
    {
        unsigned char *ptbl;
        float lastfrq;
        float frq;
        float nextfrq;
        float phase;

        unsigned short segments;
        unsigned char fx;
        unsigned char fxparam;
        Instrument *inst;

        unsigned short wavei;
        unsigned short pulsei;
        unsigned char lastwave;
        unsigned char waveduracc;

        //VOLUME
        unsigned char ptrnvol;
        unsigned char ptrnlastvol;
        unsigned char voljump;

        unsigned char lastvol;
        unsigned char voli;
        unsigned char volduracc;
    };

    //not implemented yet
    char **songpaths;
    int numsongs;
    

    Song *song;
    Track *tracks;
    Pattern *curpattern;
    unsigned char order;
{'fraction_non_alphanumeric': 0.08111824014665445, 'fraction_numerical': 0.0, 'mean_word_length': 2.3125948406676784, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5607896', 'n_tokens_mistral': 690, 'n_tokens_neox': 652, 'n_words': 205}