Crashing on QikEdit and MaxSmp

Started by iamcyanblue, August 24, 2024, 12:00:09 PM

Previous topic - Next topic

iamcyanblue

When clicking the MaxSmp button after running a process, SoundLoom crashes with the following error log:

invalid bareword "KEEP"
in expression "1.0 / KEEP:";
should be "$KEEP" or "{KEEP}" or "KEEP(...)" or ...
invalid bareword "KEEP"
in expression "1.0 / KEEP:";
should be "$KEEP" or "{KEEP}" or "KEEP(...)" or ...
    (parsing expression "1.0 / KEEP:")
    invoked from within
"expr 1.0 / $pa($fnam,$evv(MAXSAMP))"
    (procedure "GetMaxsamp" line 104)
    invoked from within
"GetMaxsamp $fffnam $force"
    (procedure "GetMaxsamps" line 316)
    invoked from within
"GetMaxsamps 0 1"
    invoked from within
".ppg.parameters.output.mxsmp invoke"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list $w invoke]"
    (procedure "tk::ButtonUp" line 23)
    invoked from within
"tk::ButtonUp .ppg.parameters.output.mxsmp"
    (command bound to event)


The Maximum sample info popup opens, but clicking OK doesn't dismiss it and the program freezes.

I also get a crash when clicking the QikEdit button from the Mix process window - the dialogue box reads "Error: unknown option '-command'", with the following error log:

unknown option "-command"
unknown option "-command"
    while executing
"label $s.000.dumm1 -text "" -command {} -bd 0 -width 11 -foreground black"
    invoked from within
"if [Dlg_Create .mixdisplay2 $fnam "set pr12_34 0" -borderwidth $evv(BBDR) -width 1200] {

if {$small_screen} {
set can [Scrolled_Canvas .mixdispl..."
    (procedure "EditSrcMixfile" line 94)
    invoked from within
"EditSrcMixfile mix"
    invoked from within
".ppg.parameters.output.editqik invoke"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list $w invoke]"
    (procedure "tk::ButtonUp" line 23)
    invoked from within
"tk::ButtonUp .ppg.parameters.output.editqik"
    (command bound to event)


If I click OK to dismiss the error, I can return to the process screen, but there's a hovering title bar (no window) titled with the filename of the mixfile.
Is anyone else having these issues? Running SoundLoom E on latest Mac OS (14.5).


rwdobson

I am investigating this now - MaxSmp problem confirmed. But it all works as expected on the PC version, while there is no immediate obvious difference in the code (though the Mac did requires many changes to control widget gemetries and behaviour).

The message "KEEP:" is the first field in the text string output from "maxsamp2", followed by the amplitude values. It should be parsed and skipped past, but clearly is not on the Mac.

One of the disadvantages of a scripting language such as tcl is that code is never tested for correctness etc until it is used - unlike a stanbdard compiled language such as C, where most syntax or type errors are caught at compile time. Unfortunately, once Soundloom suffers a tcl error, it usually can't recover, there is no workaround, and it just has to be quit and restarted.

rwdobson

Update: the offending line of code has been found. The most unfortunate news is that I can no longer build a new version of Soundloom.app as some of the tcl tools I use are 32bit binaries no longer supported on my machine (Monterey).

I noted there is  no workaround for this bug within Soundloom. However, it is possible to run "maxsamp2" from Terminal. The minimalist syntax is simple:

maxsamp2 cdptest0.wav 1

iamcyanblue


iamcyanblue

Quote from: rwdobson on August 25, 2024, 10:16:28 AM
I am investigating this now - MaxSmp problem confirmed. But it all works as expected on the PC version, while there is no immediate obvious difference in the code (though the Mac did requires many changes to control widget gemetries and behaviour).

Any clue on what's going on with QikEdit? Or will you run into a similar build issue to the MaxSmp fix?