    def submit_generic(self, hip="", wait=""):
        # submit generic : opengl, comp
        job_data = self.collect_job_data()
        if self.level > 0:
            indent = '"' + "      " * (self.level - 1) + "+--"
        else:
            indent = '"'
        name = ' -n ' + indent + job_data["name"] + '"'
        if self.wedge:
            name = name + ".wedge" + str(self.wedge_id)
        pool = ' -pool ' + '"' + job_data["pool"] + '"'

        #trange = ' -sf ' + str(job_data["trange"].split(",")[0]) + ' -ef ' + str(job_data["trange"].split(",")[1]) + ' -bf ' + str(job_data["trange"].split(",")[2])
        trange = ' -range ' + job_data["trange"]
        parent = ' -parent ' + job_data["folder"]
        prio = ' -pr ' + str(job_data["prio"])
        pk = ' -pk ' + str(job_data["chunksize"])
        hip = ' -f "' + hip + '"'
        driver = ' -attr "HOUDINIOUTPUTDRIVER" ' + '"' + job_data["caching_node"].path() + '"' + ' 0'
        hthreads = ' -attr "HOUDINIRENDERTHREADS" ' + str(job_data["threads"]) + ' 0'
        houdiniversion = ' -attr "HOUDINIVERSION" ' + str(job_data["houVersion"]) + ' 0'
        project = ' -project ' + job_data["project"]
        department = ' -department ' + job_data["department"]
        environment = ' -attr environmental_variables "'
        waitlinkmode = ' -waitlinkmode 2'
        for i in job_data["environment"]:
            environment += i + "=" + job_data["environment"][i] + ","

        if self.wedge:
            environment += "WEDGEROP=" + str(self.wedge) + ","
            environment += "WEDGE=" + str(self.wedge_id) + ","

        description = ""

        description += " -project " + job_data["project"]
        description += " -department " + job_data["department"]
        description += " -shot " + job_data["shot"]
        description += " -sequence " + job_data["seq"]

        environment = environment[:-1] + '" 0'
        environment = muster9fix(environment)
        job_submit = name + pool + parent + pk + trange + hip + driver + hthreads + houdiniversion + waitlinkmode + prio + environment + project + department + description

        musterid = [submit_to_muster_batch(job_submit, wait)]
