2019-03-17 14:40:57 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
2020-04-14 19:56:54 +03:00
< title > Sound Effects< / title >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-03-19 02:11:25 +02:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-03-17 14:40:57 +02:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-05-03 03:01:21 +03:00
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-05-03 03:01:21 +03:00
< script >
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
< / script >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Popups.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-05-09 15:07:39 +03:00
< link href = "../docs-assets/Preform-Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-14 19:56:54 +03:00
2019-03-17 14:40:57 +02:00
< / head >
2020-05-03 03:01:21 +03:00
< body class = "commentary-font" >
2020-03-19 02:11:25 +02:00
< nav role = "navigation" >
2020-04-14 19:56:54 +03:00
< h1 > < a href = "../index.html" >
2020-05-03 18:34:53 +03:00
< img src = "../docs-assets/Inform.png" height = 72" >
2020-04-14 19:56:54 +03:00
< / a > < / h1 >
< ul > < li > < a href = "../compiler.html" > compiler tools< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../other.html" > other tools< / a > < / li >
< li > < a href = "../extensions.html" > extensions and kits< / a > < / li >
< li > < a href = "../units.html" > unit test tools< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Compiler Webs< / h2 > < ul >
2020-03-19 02:11:25 +02:00
< li > < a href = "../inbuild/index.html" > inbuild< / a > < / li >
< li > < a href = "../inform7/index.html" > inform7< / a > < / li >
< li > < a href = "../inter/index.html" > inter< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Inbuild Modules< / h2 > < ul >
< li > < a href = "../supervisor-module/index.html" > supervisor< / a > < / li >
< / ul > < h2 > Inform7 Modules< / h2 > < ul >
2020-03-19 02:11:25 +02:00
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../kinds-module/index.html" > kinds< / a > < / li >
< li > < a href = "../if-module/index.html" > if< / a > < / li >
2020-04-14 19:56:54 +03:00
< li > < a href = "index.html" > < span class = "selectedlink" > multimedia< / span > < / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../index-module/index.html" > index< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Inter Modules< / h2 > < ul >
< li > < a href = "../bytecode-module/index.html" > bytecode< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../codegen-module/index.html" > codegen< / a > < / li >
2020-05-20 02:02:28 +03:00
< / ul > < h2 > Services< / h2 > < ul >
2020-04-14 19:56:54 +03:00
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / a > < / li >
< li > < a href = "../html-module/index.html" > html< / a > < / li >
2020-05-20 02:02:28 +03:00
< li > < a href = "../inflections-module/index.html" > inflections< / a > < / li >
< li > < a href = "../linguistics-module/index.html" > linguistics< / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul >
2020-03-19 02:11:25 +02:00
< / nav >
< main role = "main" >
2020-05-03 03:01:21 +03:00
<!-- Weave of 'Sound Effects' generated by Inweb -->
< div class = "breadcrumbs" >
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../compiler.html" > Inform7 Modules< / a > < / li > < li > < a href = "index.html" > multimedia< / a > < / li > < li > < a href = "index.html#2" > Chapter 2: Multimedia Features< / a > < / li > < li > < b > Sound Effects< / b > < / li > < / ul > < / div >
< p class = "purpose" > To register the names associated with sound resource numbers, which are defined to allow the final story file to play sound effects, and to produce the index of sound effects.< / p >
2019-03-17 14:40:57 +02:00
2020-04-16 01:49:59 +03:00
< ul class = "toc" > < li > < a href = "2-se.html#SP1" > § 1. Definitions< / a > < / li > < li > < a href = "2-se.html#SP10" > § 10. Blurb and manifest< / a > < / li > < li > < a href = "2-se.html#SP14" > § 14. Sounds Index< / a > < / li > < / ul > < hr class = "tocbar" >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP1" > < / a > < b > § 1. Definitions. < / b > < / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP2" > < / a > < b > § 2. < / b > To be viable, sound files have to be of a format which Blorb recognises,
2019-03-17 14:40:57 +02:00
and in any case we only allow two formats: AIFF (uncompressed) and OGG
(compressed).
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > text of name< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > filename< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > relative to the Resources folder< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > sound_number< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > resource number of this picture inside Blorb< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > alt_description< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > word number of double-quoted description< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > CLASS_DEFINITION< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< ul class = "endnotetexts" > < li > The structure blorb_sound is accessed in 2/fgr, 2/ef and here.< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP3" > < / a > < b > § 3. < / b > And we define one type ID.
2019-03-17 14:40:57 +02:00
A resource ID number for a figure (i.e.,
a picture) or a sound effect in the eventual blorb, or for use in Glulx
within the application.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K_sound_name< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP4" > < / a > < b > § 4. < / b > < / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::start< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGIN_REGISTER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PLUGIN_NEW_INSTANCE_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < a href = "2-se.html#SP5" class = "function-link" > < span class = "function-syntax" > PL::Sounds::sounds_new_named_instance_notify< / span > < / a > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGIN_REGISTER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PLUGIN_NEW_BASE_KIND_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < a href = "2-se.html#SP5" class = "function-link" > < span class = "function-syntax" > PL::Sounds::sounds_new_base_kind_notify< / span > < / a > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP5" > < / a > < b > § 5. < / b > < / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::sounds_new_base_kind_notify< / span > < button class = "popup" onclick = "togglePopup('usagePopup1')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup1" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::Sounds::sounds_new_base_kind_notify< / span > < / span > :< br / > < a href = "2-se.html#SP4" > § 4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > new_base< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq_wide_string< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "SOUND_NAME_TY"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K_sound_name< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > new_base< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > allow_sound_creations< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::sounds_new_named_instance_notify< / span > < button class = "popup" onclick = "togglePopup('usagePopup2')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup2" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::Sounds::sounds_new_named_instance_notify< / span > < / span > :< br / > < a href = "2-se.html#SP4" > § 4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > nc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_sound_name< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Instances::to_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > nc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Compare::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_sound_name< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > allow_sound_creations< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::sentence_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::syntax_tree< / span > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_BackdoorSoundCreation< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "this is not the way to create a new sound name"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "which should be done with a special 'Sound ... is the file ...' "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "sentence."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Instances::set_connection< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > nc< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > STORE_POINTER_blorb_sound< / span > < span class = "plain-syntax" > (< / span > < a href = "2-se.html#SP5" class = "function-link" > < span class = "function-syntax" > PL::Sounds::new_blorb_sound< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > nc< / span > < span class = "plain-syntax" > )));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > PL::Sounds::new_blorb_sound< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > nc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > CREATE< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP6" > < / a > < b > § 6. < / b > Sound allocation now follows. This handles the special meaning "X is an sound...".
2019-03-17 14:40:57 +02:00
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < new-sound-sentence-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < definite-article> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < new-sound-sentence-object-unarticled> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { pass 2 }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < new-sound-sentence-object-unarticled> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { pass 1 }< / span >
2019-03-17 14:40:57 +02:00
2020-05-09 15:07:39 +03:00
< span class = "Preform-function-syntax" > < new-sound-sentence-object-unarticled> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > file< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < np-unparsed> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { TRUE, RP[1] }< / span >
2020-07-29 20:43:44 +03:00
< span class = "Preform-function-syntax" > < nounphrase-sound> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > sound< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { 0, Diagrams::new_UNPARSED_NOUN(W) }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP7" > < / a > < b > § 7. < / b > < / p >
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-30 01:56:59 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::new_sound_SMF< / span > < button class = "popup" onclick = "togglePopup('usagePopup3')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup3" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::Sounds::new_sound_SMF< / span > < / span > :< br / > Multimedia Special Meanings - < a href = "1-msm.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > task< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > SW< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > )?(< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > [0]):< / span > < span class = "identifier-syntax" > EMPTY_WORDING< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > OW< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > )?(< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > [1]):< / span > < span class = "identifier-syntax" > EMPTY_WORDING< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > task< / span > < span class = "plain-syntax" > ) { < / span > < span class = "comment-syntax" > "Sound... is the file..."< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ACCEPT_SMFT:< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "function-syntax" > < nounphrase-sound> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SW< / span > < span class = "plain-syntax" > )) & & (< / span > < span class = "function-syntax" > < new-sound-sentence-object> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OW< / span > < span class = "plain-syntax" > ))) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < rp> > < / span > < span class = "plain-syntax" > ;< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "function-syntax" > < np-unparsed> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SW< / span > < span class = "plain-syntax" > );< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < rp> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRAVERSE1_SMFT:< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Plugins::Manage::plugged_in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sounds_plugin< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "Sounds plugin inactive"< / span > < span class = "plain-syntax" > );< / span >
2020-05-11 17:21:29 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-se.html#SP9" class = "function-link" > < span class = "function-syntax" > PL::Sounds::register_sound< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP8" > < / a > < b > § 8. < / b > The syntax for sound effects allows for alt-texts, exactly as for figures.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < sound-sentence-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < sound-source> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > (< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < quoted-text> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > )< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { R[1], -, < < alttext> > = R[2] }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < sound-source> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { pass 1 }< / span >
2019-03-17 14:40:57 +02:00
2020-05-09 15:07:39 +03:00
< span class = "Preform-function-syntax" > < sound-source> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < quoted-text> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { pass 1 }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "2-se.html#SP8_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Issue PM_SoundNotTextual problem< / span > < span class = "named-paragraph-number" > 8.1< / span > < / a > < / span > < span class = "Preform-constant-syntax" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-05-09 15:07:39 +03:00
< p class = "commentary firstcommentary" > < a id = "SP8_1" > < / a > < b > § 8.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Issue PM_SoundNotTextual problem< / span > < span class = "named-paragraph-number" > 8.1< / span > < / span > < span class = "Preform-comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::sentence_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::syntax_tree< / span > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_SoundNotTextual< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "a sound effect can only be declared as a quoted file name"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "which should be the name of an AIFF or OGG file inside the Sounds "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "subfolder of the project's .materials folder. For instance, 'Sound "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "of Swordplay is the file \"Crossed Swords.aiff\".'"< / span > < span class = "plain-syntax" > );< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > ==> { < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , - };< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "2-se.html#SP8" > § 8< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP9" > < / a > < b > § 9. < / b > < / p >
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-30 01:56:59 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::register_sound< / span > < button class = "popup" onclick = "togglePopup('usagePopup4')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup4" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::Sounds::register_sound< / span > < / span > :< br / > < a href = "2-se.html#SP7" > § 7< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FN< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "function-syntax" > < < alttext> > < / span > < span class = "plain-syntax" > = -1;< / span >
< span class = "plain-syntax" > < / span > < span class = "function-syntax" > < sound-sentence-object> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > FN< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < r> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > );< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < alttext> > < / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < alttext> > < / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Assertions::Creator::vet_name_for_noun< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > );< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "function-syntax" > < s-value> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > )) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Rvalues::is_CONSTANT_of_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < rp> > < / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_sound_name< / span > < span class = "plain-syntax" > ))) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::sentence_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::syntax_tree< / span > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_SoundDuplicate< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "this is already the name of a sound effect"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "so there must be some duplication somewhere."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > allow_sound_creations< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pcalc_prop< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > prop< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Calculus::Propositions::Abstract::to_create_something< / span > < span class = "plain-syntax" > (< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K_sound_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Calculus::Propositions::Assert::assert_true< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > prop< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > CERTAIN_CE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > allow_sound_creations< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > RETRIEVE_POINTER_blorb_sound< / span > < span class = "plain-syntax" > (< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Instances::get_connection< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > latest_instance< / span > < span class = "plain-syntax" > ));< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > leaf< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > leaf< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%N"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Filenames::in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::sounds_path< / span > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > leaf< / span > < span class = "plain-syntax" > );< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > leaf< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > name< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > sound_number< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Task::get_next_free_blorb_resource_ID< / span > < span class = "plain-syntax" > ();< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > alt_description< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < alttext> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOGIF< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > FIGURE_CREATIONS< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "Created sound effect < %W> = filename '%N' = resource ID %d\n"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > sound_number< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10" > < / a > < b > § 10. Blurb and manifest. < / b > The sounds manifest is used by the implementation of Glulx within the
2019-03-17 14:40:57 +02:00
Inform application to connect picture ID numbers with filenames relative
2020-05-03 03:01:21 +03:00
to the < span class = "extract" > < span class = "extract-syntax" > .materials< / span > < / span > folder for its project. (It's part of the XML
manifest file created from < span class = "extract" > < span class = "extract-syntax" > Figures.w< / span > < / span > .)
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-30 01:56:59 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::write_sounds_manifest< / span > < button class = "popup" onclick = "togglePopup('usagePopup5')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup5" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::Sounds::write_sounds_manifest< / span > < / span > :< br / > Figures - < a href = "2-fgr.html#SP12" > § 12< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Plugins::Manage::plugged_in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sounds_plugin< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "< key> Sounds< /key> \n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "< dict> \n"< / span > < span class = "plain-syntax" > ); < / span > < span class = "identifier-syntax" > INDENT< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "< key> %d< /key> \n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > sound_number< / span > < span class = "plain-syntax" > );< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > )< / span >
2020-05-05 23:59:02 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Filenames::to_text_relative< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Projects::materials_path< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::project< / span > < span class = "plain-syntax" > ()));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "< string> %S< /string> \n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > );< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > OUTDENT< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "< /dict> \n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP11" > < / a > < b > § 11. < / b > The following writes Blurb commands for all of the sounds.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::write_blurb_commands< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Plugins::Manage::plugged_in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sounds_plugin< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > desc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > ""< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > alt_description< / span > < span class = "plain-syntax" > > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > desc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Lexer::word_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > alt_description< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > desc< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "sound %d \"%f\" \"%N\"\n"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > sound_number< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > alt_description< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "sound %d \"%f\"\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > sound_number< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP12" > < / a > < b > § 12. < / b > The following is used only with the "separate figures" release option.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::write_copy_commands< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Plugins::Manage::plugged_in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sounds_plugin< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PL::Bibliographic::Release::create_aux_file< / span > < span class = "plain-syntax" > (< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Task::released_sounds_path< / span > < span class = "plain-syntax" > (),< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "--"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > SEPARATE_SOUNDS_PAYLOAD< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP13" > < / a > < b > § 13. < / b > < / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::compile_ResourceIDsOfSounds_array< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Plugins::Manage::plugged_in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sounds_plugin< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Hierarchy::find< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RESOURCEIDSOFSOUNDS_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Emit::named_array_begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Emit::array_numeric_entry< / span > < span class = "plain-syntax" > (0);< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > ;< / span >
2020-07-01 02:58:55 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Emit::array_numeric_entry< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > sound_number< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Emit::array_numeric_entry< / span > < span class = "plain-syntax" > (0);< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Emit::array_end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< p class = "commentary firstcommentary" > < a id = "SP14" > < / a > < b > § 14. Sounds Index. < / b > The index is only a little helpful for sounds.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::Sounds::index_all< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Plugins::Manage::plugged_in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sounds_plugin< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > FILE< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > ;< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_OPEN< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "p"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "There are no sound effects in this project."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_CLOSE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "p"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_OPEN< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "p"< / span > < span class = "plain-syntax" > ); < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "< b> List of Sounds< /b> "< / span > < span class = "plain-syntax" > ); < / span > < span class = "identifier-syntax" > HTML_CLOSE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "p"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML::begin_html_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "#ffffff"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > blorb_sound< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > unsigned< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > duration< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pBitsPerSecond< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pChannels< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pSampleRate< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > fsize< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > midi_version< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > no_tracks< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > preview< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > waveform_style< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Filenames::fopen< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "rb"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > char< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > real_format< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "AIFF"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > SoundFiles::get_AIFF_duration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > duration< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > pBitsPerSecond< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > & < / span > < span class = "identifier-syntax" > pChannels< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > pSampleRate< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fseek< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > SEEK_END< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fsize< / span > < span class = "plain-syntax" > = (< / span > < span class = "reserved-syntax" > unsigned< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > ) (< / span > < span class = "identifier-syntax" > ftell< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fclose< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Filenames::fopen< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "rb"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > real_format< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "Ogg Vorbis"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > preview< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > SoundFiles::get_OggVorbis_duration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > duration< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > pBitsPerSecond< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > & < / span > < span class = "identifier-syntax" > pChannels< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > pSampleRate< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fclose< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Filenames::fopen< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "rb"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > waveform_style< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > real_format< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "MIDI"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > preview< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > SoundFiles::get_MIDI_information< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > & < / span > < span class = "identifier-syntax" > midi_version< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > no_tracks< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fclose< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SOUND_FILE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "< i> Unknown sound format< /i> "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "br"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > waveform_style< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Type %d %s file with %d track%s"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > midi_version< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > real_format< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > no_tracks< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > no_tracks< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )?< / span > < span class = "string-syntax" > ""< / span > < span class = "plain-syntax" > :< / span > < span class = "string-syntax" > "s"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "br"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "< i> Warning: not officially supported in glulx yet< /i> "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "br"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > min< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > duration< / span > < span class = "plain-syntax" > /6000), < / span > < span class = "identifier-syntax" > sec< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > duration< / span > < span class = "plain-syntax" > %6000)/100,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > centisec< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > duration< / span > < span class = "plain-syntax" > %100);< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d.%01dKB %s file: duration "< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fsize< / span > < span class = "plain-syntax" > /1024, (< / span > < span class = "identifier-syntax" > fsize< / span > < span class = "plain-syntax" > %1024)/102, < / span > < span class = "identifier-syntax" > real_format< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > min< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d minutes "< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > min< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > sec< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > centisec< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > centisec< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d seconds"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sec< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d.%02d seconds"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sec< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > centisec< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "exactly"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "br"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Sampled as %d.%01dkHz %s (%d.%01d kilobits/sec)"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pSampleRate< / span > < span class = "plain-syntax" > /1000, (< / span > < span class = "identifier-syntax" > pSampleRate< / span > < span class = "plain-syntax" > %1000)/100,< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pChannels< / span > < span class = "plain-syntax" > ==1)?< / span > < span class = "string-syntax" > "Mono"< / span > < span class = "plain-syntax" > :< / span > < span class = "string-syntax" > "Stereo"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pBitsPerSecond< / span > < span class = "plain-syntax" > /1000, (< / span > < span class = "identifier-syntax" > pSampleRate< / span > < span class = "plain-syntax" > %1000)/100);< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "br"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "< i> Missing from the Sounds folder< /i> "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "br"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML::first_html_column< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > THUMBNAIL_WIDTH< / span > < span class = "plain-syntax" > +10);< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rv< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG_WITH< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "img"< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "border=\"0\" src=\"inform:/doc_images/image_problem.png\""< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preview< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_OPEN_WITH< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "embed"< / span > < span class = "plain-syntax" > ,< / span >
2020-05-20 02:02:28 +03:00
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "src=\"file:< / span > < span class = "comment-syntax" > %f\" width=\"%d\" height=\"64\" "< / span >
< span class = "string-syntax" > "< / span > < span class = "identifier-syntax" > autostart< / span > < span class = "plain-syntax" > =\< / span > < span class = "string-syntax" > "false\" volume=\"50%%\" mastersound"< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > THUMBNAIL_WIDTH< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_CLOSE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "embed"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG_WITH< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "img"< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "border=\"0\" src=\"inform:/doc_images/sound_okay.png\""< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "& nbsp;"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML::next_html_column< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%+W"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Index::link< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > name< / span > < span class = "plain-syntax" > ));< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > )< / span >
2020-05-05 23:59:02 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Filenames::to_text_relative< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > filename_of_sound_file< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Projects::materials_path< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::project< / span > < span class = "plain-syntax" > ()));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_TAG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "br"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%SFilename: \"%S\" - resource number %d"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bs< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > sound_number< / span > < span class = "plain-syntax" > );< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rel< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML::end_html_row< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML::end_html_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > HTML_OPEN< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "p"< / span > < span class = "plain-syntax" > );< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line2< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< nav role = "progress" > < div class = "progresscontainer" >
< ul class = "progressbar" > < li class = "progressprev" > < a href = "2-fgr.html" > ❮ < / a > < / li > < li class = "progresschapter" > < a href = "1-mm.html" > 1< / a > < / li > < li class = "progresscurrentchapter" > 2< / li > < li class = "progresssection" > < a href = "2-fgr.html" > fgr< / a > < / li > < li class = "progresscurrent" > se< / li > < li class = "progresssection" > < a href = "2-ef.html" > ef< / a > < / li > < li class = "progressnext" > < a href = "2-ef.html" > ❯ < / a > < / li > < / ul > < / div >
< / nav > <!-- End of weave -->
2019-03-17 14:40:57 +02:00
2020-03-19 02:11:25 +02:00
< / main >
2019-03-17 14:40:57 +02:00
< / body >
< / html >