summaryrefslogtreecommitdiff
path: root/tests/examplefiles/example.praat
diff options
context:
space:
mode:
Diffstat (limited to 'tests/examplefiles/example.praat')
-rw-r--r--tests/examplefiles/example.praat280
1 files changed, 0 insertions, 280 deletions
diff --git a/tests/examplefiles/example.praat b/tests/examplefiles/example.praat
deleted file mode 100644
index 85573919..00000000
--- a/tests/examplefiles/example.praat
+++ /dev/null
@@ -1,280 +0,0 @@
-form Highlighter test
- sentence Blank
- sentence My_sentence This should all be a string
- text My_text This should also all be a string
- word My_word Only the first word is a string, the rest is discarded
- boolean Binary 1
- boolean Text no
- boolean Quoted "yes"
- comment This should be a string
- optionmenu Choice: 1
- option Foo
- option Bar
- option 100
- real left_Range -123.6
- positive right_Range_max 3.3
- integer Int 4
- natural Nat 4
-endform
-
-# Periods do not establish boundaries for keywords
-form.var = 10
-# Or operators
-not.an.operator$ = "Bad variable name"
-bad.or.not = 1
-
-# External scripts
-include /path/to/file
-runScript: "/path/to/file"
-execute /path/to/file
-
-# Predefined variables
-a = praatVersion
-a = e
-a = pi
-a$ = homeDirectory$ + tab$ + newline$
-a$ = temporaryDirectory$
-a$ = praatVersion$
-a$ = shellDirectory$
-a$ = homeDirectory$
-a$ = preferencesDirectory$
-a$ = defaultDirectory$
-nocheck selectObject: undefined
-
-# Arrays are not comments
-a# = zero# (5, 6)
-a [3], 5 = 7
-printline 'a[3,5]', 'a[3]'
-a [1] = 2
-b [a [1]] = 3
-assert b [a [1]] = 3
-printline 'b[2]'
-
-# if-block with built-in variables
-if windows
- # We are on Windows
-elsif unix = 1 or !macintosh
- exitScript: "We are on Linux"
-else macintosh == 1
- exit We are on Mac
-endif
-
-string$ = "Strings can be 'interpolated'"
-string$ = "But don't interpolate everything!"
-string$(10)
-
-repeat
- string$ = string$ - right$(string$)
-until !length(string$)
-
-Text... 1 Right 0.2 Half many----hyphens
-Text... 1 Right -0.4 Bottom aحبيبa
-Text... 1 Right -0.6 Bottom 日本
-Draw circle (mm)... 0.5 0.5 i
-
-rows = Object_'table'.nrow
-value$ = Table_'table'$[25, "f0"]
-fixed = Sound_10.xmin
-fixed = Object_foo.xmin
-fixed = Procrustes_foo.nx
-
-# old-style procedure call
-call oldStyle "quoted" 2 unquoted string
-assert oldStyle.local = 1
-
-# New-style procedure call with parens
-@newStyle("quoted", 2, "quoted string")
-if praatVersion >= 5364
- # New-style procedure call with colon
- @newStyle: "quoted", 2, "quoted string"
-endif
-
-# inline if with inline comment
-var = if macintosh = 1 then 0 else 1 fi ; This is an inline comment
-
-# for-loop with explicit from using local variable
-# and paren-style function calls and variable interpolation
-n = numberOfSelected("Sound")
-for i from newStyle.local to n
- name = selected$(extractWord$(selected$(), " "))
- sound'i' = selected("Sound", i+(a*b))
- sound[i] = sound'i'
-endfor
-
-i = 1
-while i < n
- i++
- # Different styles of object selection
- select sound'i'
- sound = selected()
- sound$ = selected$("Sound")
- select Sound 'sound$'
- selectObject( sound[i])
- selectObject: sound
-
- # Pause commands
- beginPause("Viewing " + sound$)
- if i > 1
- button = endPause("Stop", "Previous",
- ...if i = total_sounds then "Finish" else "Next" fi,
- ...3, 1)
- else
- button = endPause("Stop",
- ...if i = total_sounds then "Finish" else "Next" fi,
- ...2, 1)
- endif
- editor_name$ = if total_textgrids then "TextGrid " else "Sound " fi + name$
- nocheck editor Sound 'editor_name$'
- nocheck Close
- nocheck endeditor
- editor_id = editor: editor_name$
- Close
- endeditor
-
- # New-style standalone command call
- Rename: "SomeName"
-
- # Command call with assignment
- duration = Get total duration
-
- # Multi-line command with modifier
- pitch = noprogress To Pitch (ac): 0, 75, 15, "no",
- ...0.03, 0.45, 0.01, 0.35, 0.14, 600
- # Formulas are strings
- Formula: "if col = 1 then row * Object_'pitch'.dx + 'first' else self fi"
-
- # do-style command with assignment
- minimum = do("Get minimum...", 0, 0, "Hertz", "Parabolic")
-
- # New-style multi-line command call with broken strings
- table = Create Table with column names: "table", 0,
- ..."file subject speaker
- ... f0 f1 f2 f" + string$(3) + " " +
- ..."duration response"
-
- # Function call with trailing space
- removeObject: pitch, table
-
- # Picture window commands
- selectObject: sound
- # do-style command
- do("Select inner viewport...", 1, 6, 0.5, 1.5)
- Black
- Draw... 0 0 0 0 "no" Curve
- Draw inner box
- Text bottom: "yes", sound$
- Erase all
-
- # Demo window commands
- demo Erase all
- demo Select inner viewport... 0 100 0 100
- demo Axes... 0 100 0 100
- demo Paint rectangle... white 0 100 0 100
- demo Text... 50 centre 50 half Click to finish
- demoWaitForInput ( )
- demo Erase all
- demo Text: 50, "centre", 50, "half", "Finished"
-endwhile
-
-switch$ = if switch == 1 then "a" else
- ... if switch == 2 then "b" else
- ... if switch == 3 then "c" else
- ... if switch == 4 then "d" else
- ... "default" fi fi fi fi
-
-# An old-style sendpraat block
-# All these lines should be a string!
-sendpraat Praat
- ...'newline$' Create Sound as pure tone... "tone" 1 0 0.4 44100 440 0.2 0.01 0.01
- ...'newline$' Play
- ...'newline$' Remove
-
-# A new-style sendpraat block
-beginSendPraat: "Praat"
- Create Sound as pure tone: "tone", 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01
- duration = Get total duration
- Remove
-endSendPraat: "duration"
-appendInfoLine: "The generated sound lasted for ", duration, "seconds"
-
-# Number types
-a = 10%
-a = -10
-a = +10
-a = 10.4
-a = 294e12
-a = 2.94e12
-
-# Operators
-a = 2 ^ -6
-a = -(1+1)^6
-a = 4^3 ^ 2
-a = 54 div 5.1
-a = 54.3 mod 5
-a = 3 ** 8 - 7
-a = 3 / (8 + 7)
-a = (7 * (3 + 5)) / ((2 + 3) - 1)
-
-# Logical operators
-assert (a = b) and c
-assert a == (b or c)
-assert a <= b not c
-assert a >= b !c
-assert a != b & c
-assert a != b && c
-assert a <> b || c
-assert a < b | c
-assert a > b
-
-assert (a)or (b)
-assert (a) or(b)
-assert (a)and(b)
-
-assert "hello" = "he" + "llo"
-assert "hello" == "hello world" - " world"
-
-stopwatch
-time = stopwatch
-clearinfo
-echo This script took
-print 'time' seconds to
-printline execute.
-
-# Old-style procedure declaration
-procedure oldStyle .str1$ .num .str2$
- .local = 1
-endproc
-
-# New-style procedure declaration with parentheses
-procedure newStyle (.str1$, .num, .str2$)
- # Command with "local" variable
- .local = Get total duration
- .local = Get 'some' duration
- .local = Get 'some[1]' value... hello 10 p[i]
- .local = Get 'some[1,3]' value: "hello", 10, 'p[i]'
- .local = Get 'some$' duration
- .local = Get 'some$[1]' duration
-endproc
-
-# New-style procedure declaration with colon
-procedure _new_style: .str1$, .num, .str2$
- # Command with "local" variable
- # Initial underscores in variables not allowed (unless interpolated)
- _new_style.local = Get total duration
-endproc
-
-asserterror Unknown symbol:'newline$'« _
-assert '_new_style.local'
-
-@proc: a, selected("string"), b
-# Comment
-
-for i to saveSelection.n
- selectObject: saveSelection.id[i]
- appendInfoLine: selected$()
-endfor
-
-@ok(if selected$("Sound") = "tone" then 1 else 0 fi,
- ... "selected sound is tone")
-
-@ok_formula("selected$(""Sound"") = ""tone""", "selected sound is tone")