Example #1
0
void OperatorWidget::setContent(const OpaOperatorParams * params, bool send)
{
    QString text;
    opa.setEnable(false);

    setFlags(params->flags);
    ui->volumeSlide->setValue(params->volume);
    on_volumeSlide_valueChanged(params->volume);

    int coarse = (params->flags & OPA_OP_ABSOLUTE) ?
        ((int8_t) params->coarse) + 128 : params->coarse;

    ui->coarseDial->setValue(coarse);
    on_coarseDial_valueChanged(coarse);

    ui->fineDial->setValue(params->fine);
    on_fineDial_valueChanged(params->fine);

    ui->LFOSpeedDial->setValue(params->LFOSpeed);
    ui->LFOAmountDial->setValue(params->LFOAmount);
    ui->feedbackDial->setValue(params->feedback);

    ui->attackDial->setValue(params->envAttack);
    ui->decayDial->setValue(params->envDecay);
    ui->sustainDial->setValue(params->envSusLevel);
    ui->initDial ->setValue(params->envIniLevel);
    ui->releaseDial->setValue(params->envRelease);

    updateEnvelope();

    opa.setEnable(true);

    if (send) {
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_VOLUME), params->volume);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_COARSE), params->coarse);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_FINE), params->fine);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_LFOSPEED), params->LFOSpeed);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_LFOAMOUNT), params->LFOAmount);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_FEEDBACK), params->feedback);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_ENVATTACK), params->envAttack);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_ENVDECAY), params->envDecay);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_ENVSUSTAIN_LEVEL), params->envSusLevel);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_ENVINIT_LEVEL), params->envIniLevel);
        opa.programParamWrite(programIndex, getParamIndex(OPA_OP_ENVRELEASE), params->envRelease);
        writeFlags();
   }
}
Example #2
0
void uh_set_ptt(int ptt)
{
    if (!uh_ptt_in_use)
    {
        MYERROR("%10d:SetPTT but not open\n", TIME);
        return;
    }

    DEBUG("%10d:SET PTT = %d\n", TIME, ptt);

    if (ptt)
    {
        statusbyte |= 0x04;
    }
    else
    {
        statusbyte &= ~0x04;
    }

    writeFlags();
}
Example #3
0
void OperatorWidget::on_trackHardLowButton_clicked()
{
    writeFlags();
}
Example #4
0
void OperatorWidget::on_trackSoftHighButton_clicked()
{
    writeFlags();
}
Example #5
0
void OperatorWidget::on_muteButton_clicked(bool checked)
{
    writeFlags();
}
Example #6
0
void OperatorWidget::on_absoluteButton_clicked(bool checked)
{
    on_coarseDial_valueChanged(ui->coarseDial->value());
    ui->coarseLine->setReadOnly(!checked);
    writeFlags();
}
Example #7
0
static void
view_ast(BaseAST* ast, bool number = false, int mark = -1, int indent = 0) {
  if (!ast)
    return;
  if (Expr* expr = toExpr(ast)) {
    printf("\n");
    for (int i = 0; i < indent; i++)
      printf(" ");
    printf("(");
    if (ast->id == mark)
      printf("***");
    if (number)
      printf("%d ", ast->id);
    printf("%s", expr->astTagAsString());

    if (isBlockStmt(expr))
      if (FnSymbol* fn = toFnSymbol(expr->parentSymbol))
        if (expr == fn->where)
          printf(" where");

    if (GotoStmt *gs= toGotoStmt(ast)) {
      printf( " ");
      view_ast(gs->label, number, mark, indent+1);
    }

    if (CallExpr* call = toCallExpr(expr))
      if (call->primitive)
        printf(" %s", call->primitive->name);

    if (NamedExpr* named = toNamedExpr(expr))
      printf(" \"%s\"", named->name);

    if (toDefExpr(expr))
      printf(" ");

    int64_t i;
    const char *str;
    if (get_int(expr, &i)) {
      printf(" %" PRId64, i);
    } else if (get_string(expr, &str)) {
      printf(" \"%s\"", str);
    }

    if (SymExpr* sym = toSymExpr(expr)) {
      printf(" ");
      view_sym(sym->var, number, mark);
    } else if (UnresolvedSymExpr* sym = toUnresolvedSymExpr(expr)) {
      printf(" '%s'", sym->unresolved);
    }
  }

  if (Symbol* sym = toSymbol(ast)) {
    view_sym(sym, number, mark);
  }

  AST_CHILDREN_CALL(ast, view_ast, number, mark, indent+2);

  if (DefExpr* def = toDefExpr(ast)) {
    printf(" ");
    writeFlags(stdout, def->sym);
  }

  if (toExpr(ast))
    printf(")");
}
Example #8
0
/*
 * fetch messages
 *
 * imap4 body[] requestes get translated to upas/fs files as follows
 *	body[id.header] == id/rawheader file + extra \r\n
 *	body[id.text] == id/rawbody
 *	body[id.mime] == id/mimeheader + extra \r\n
 *	body[id] === body[id.header] + body[id.text]
*/
int
fetchMsg(Box *, Msg *m, int uids, void *vf)
{
    Tm tm;
    Fetch *f;
    char *sep;
    int todo;

    if(m->expunged)
        return uids;

    todo = 0;
    for(f = vf; f != nil; f = f->next) {
        switch(f->op) {
        case FFlags:
            todo = 1;
            break;
        case FUid:
            todo = 1;
            break;
        case FInternalDate:
        case FEnvelope:
        case FRfc822:
        case FRfc822Head:
        case FRfc822Size:
        case FRfc822Text:
        case FBodySect:
        case FBodyPeek:
        case FBody:
        case FBodyStruct:
            todo = 1;
            if(!msgStruct(m, 1)) {
                msgDead(m);
                return uids;
            }
            break;
        default:
            bye("bad implementation of fetch");
            return 0;
        }
    }

    if(m->expunged)
        return uids;
    if(!todo)
        return 1;

    /*
     * note: it is allowed to send back the responses one at a time
     * rather than all together.  this is exploited to send flags elsewhere.
     */
    Bprint(&bout, "* %lud FETCH (", m->seq);
    sep = "";
    if(uids) {
        Bprint(&bout, "UID %lud", m->uid);
        sep = " ";
    }
    for(f = vf; f != nil; f = f->next) {
        switch(f->op) {
        default:
            bye("bad implementation of fetch");
            break;
        case FFlags:
            Bprint(&bout, "%sFLAGS (", sep);
            writeFlags(&bout, m, 1);
            Bprint(&bout, ")");
            break;
        case FUid:
            if(uids)
                continue;
            Bprint(&bout, "%sUID %lud", sep, m->uid);
            break;
        case FEnvelope:
            Bprint(&bout, "%sENVELOPE ", sep);
            fetchEnvelope(m);
            break;
        case FInternalDate:
            Bprint(&bout, "%sINTERNALDATE ", sep);
            Bimapdate(&bout, date2tm(&tm, m->unixDate));
            break;
        case FBody:
            Bprint(&bout, "%sBODY ", sep);
            fetchBodyStruct(m, &m->head, 0);
            break;
        case FBodyStruct:
            Bprint(&bout, "%sBODYSTRUCTURE ", sep);
            fetchBodyStruct(m, &m->head, 1);
            break;
        case FRfc822Size:
            Bprint(&bout, "%sRFC822.SIZE %lud", sep, msgSize(m));
            break;
        case FRfc822:
            f->part = FPAll;
            Bprint(&bout, "%sRFC822", sep);
            fetchBody(m, f);
            break;
        case FRfc822Head:
            f->part = FPHead;
            Bprint(&bout, "%sRFC822.HEADER", sep);
            fetchBody(m, f);
            break;
        case FRfc822Text:
            f->part = FPText;
            Bprint(&bout, "%sRFC822.TEXT", sep);
            fetchBody(m, f);
            break;
        case FBodySect:
        case FBodyPeek:
            Bprint(&bout, "%sBODY", sep);
            fetchBody(fetchSect(m, f), f);
            break;
        }
        sep = " ";
    }
    Bprint(&bout, ")\r\n");

    return 1;
}