Search and replace unicode a0c2 with 0020
This commit is contained in:
parent
b26de72704
commit
1e1cf249f7
|
@ -1,7 +1,7 @@
|
|||
<style type="text/css">
|
||||
#plupload_files input[type="file"] {
|
||||
font-size: 200px !important;
|
||||
}
|
||||
#plupload_files input[type="file"] {
|
||||
font-size: 200px !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var LIBRETIME_PLUPLOAD_MAX_FILE_SIZE = "<?php echo $this->uploadMaxSize; ?>";
|
||||
|
@ -11,15 +11,15 @@
|
|||
$partitions = Application_Model_Systemstatus::GetDiskInfo();
|
||||
$status = new StdClass;
|
||||
$disk = $partitions[0];
|
||||
$used = $disk->totalSpace-$disk->totalFreeSpace;
|
||||
$used = $disk->totalSpace - $disk->totalFreeSpace;
|
||||
$total = $disk->totalSpace;
|
||||
$tracktypes = Application_Model_Tracktype::getTracktypes();
|
||||
|
||||
array_multisort(array_map(function($element) {
|
||||
|
||||
array_multisort(array_map(function ($element) {
|
||||
return $element['type_name'];
|
||||
}, $tracktypes), SORT_ASC, $tracktypes);
|
||||
|
||||
if(count($tracktypes) == 0) {
|
||||
|
||||
if (count($tracktypes) == 0) {
|
||||
$hasTracktypes = "disabled";
|
||||
$showTracktypesDropdown = false;
|
||||
} else {
|
||||
|
@ -28,35 +28,35 @@
|
|||
}
|
||||
?>
|
||||
<?php
|
||||
if (isset($_COOKIE['tt_upload'])) {
|
||||
$ttsaved = $_COOKIE['tt_upload'];
|
||||
} else {
|
||||
// Use default track type
|
||||
$ttsaved = Application_Model_Preference::GetTrackTypeDefault();
|
||||
}
|
||||
?>
|
||||
if (isset($_COOKIE['tt_upload'])) {
|
||||
$ttsaved = $_COOKIE['tt_upload'];
|
||||
} else {
|
||||
// Use default track type
|
||||
$ttsaved = Application_Model_Preference::GetTrackTypeDefault();
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="upload_wrapper">
|
||||
|
||||
<div id="track_type_selection">
|
||||
<form>
|
||||
<?php
|
||||
if ($showTracktypesDropdown != false) { ?>
|
||||
<select id="select_type" class="form-control" <?php echo $hasTracktypes; ?>>
|
||||
<?php
|
||||
echo "<option value=''>Select Track Type</option>";
|
||||
foreach ($tracktypes as $key => $tt) {
|
||||
$selected = "";
|
||||
if ($ttsaved == $tt['code']) {
|
||||
$selected = "selected";
|
||||
<?php
|
||||
if ($showTracktypesDropdown != false) { ?>
|
||||
<select id="select_type" class="form-control" <?php echo $hasTracktypes; ?>>
|
||||
<?php
|
||||
echo "<option value=''>Select Track Type</option>";
|
||||
foreach ($tracktypes as $key => $tt) {
|
||||
$selected = "";
|
||||
if ($ttsaved == $tt['code']) {
|
||||
$selected = "selected";
|
||||
}
|
||||
$code = $tt['code'];
|
||||
$typename = $tt['type_name'];
|
||||
echo "<option value='$code' $selected>$typename</option>";
|
||||
}
|
||||
$code = $tt['code'];
|
||||
$typename = $tt['type_name'];
|
||||
echo "<option value='$code' $selected>$typename</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php } ?>
|
||||
?>
|
||||
</select>
|
||||
<?php } ?>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
@ -65,13 +65,13 @@
|
|||
$ttTitle = "";
|
||||
foreach ($tracktypes as $key => $tt) {
|
||||
if ($ttsaved == $tt['code']) {
|
||||
$ttTitle = $tt['type_name'];
|
||||
$ttTitle = $tt['type_name'];
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
<H2><?php echo _("Upload")?> <span id="upload_type" <?php echo ($showTracktypesDropdown && $ttTitle!="") ? 'style="color:#ff611f"' : "" ?>>
|
||||
<?php echo ($showTracktypesDropdown && $ttTitle!="") ? $ttTitle : "Tracks"; ?></span></H2>
|
||||
<H2><?php echo _("Upload") ?> <span id="upload_type" <?php echo ($showTracktypesDropdown && $ttTitle != "") ? 'style="color:#ff611f"' : "" ?>>
|
||||
<?php echo ($showTracktypesDropdown && $ttTitle != "") ? $ttTitle : "Tracks"; ?></span></H2>
|
||||
<form action="/rest/media" method="post" id="add-media-dropzone" class="dropzone dz-clickable">
|
||||
<?php echo $this->form->getElement('csrf') ?>
|
||||
<div class="dz-message">
|
||||
|
@ -81,39 +81,38 @@
|
|||
<!--
|
||||
<div id="filelist">Your browser doesn't have Flash, Silverlight or HTML5 support.</div>
|
||||
<br />
|
||||
|
||||
|
||||
<div id="container">
|
||||
<a id="pickfiles" href="javascript:;">[Select files]</a>
|
||||
<a id="uploadfiles" href="javascript:;">[Upload files]</a>
|
||||
<a id="pickfiles" href="javascript:;">[Select files]</a>
|
||||
<a id="uploadfiles" href="javascript:;">[Upload files]</a>
|
||||
</div>
|
||||
-->
|
||||
<div id="uploads_disk_usage">
|
||||
<div style="padding-bottom: 2px;"><?php echo _("Storage")?></div>
|
||||
<div style="padding-bottom: 2px;"><?php echo _("Storage") ?></div>
|
||||
<div class="disk_usage_progress_bar"></div>
|
||||
<div class="disk_usage_percent_in_use"><?php echo sprintf("%01.1f%% ", $used/$total*100) . _("in use") ?></div>
|
||||
<div class="disk_usage_used" style="width:<?php echo sprintf("%01.1f%%", min(100, $used/$total*100)) ?>;"></div>
|
||||
<div class="disk_usage_percent_in_use"><?php echo sprintf("%01.1f%% ", $used / $total * 100) . _("in use") ?></div>
|
||||
<div class="disk_usage_used" style="width:<?php echo sprintf("%01.1f%%", min(100, $used / $total * 100)) ?>;"></div>
|
||||
|
||||
<div style="margin-top: 17px; font-size: 12px;"><?php echo sprintf(_("%01.1fGB of %01.1fGB"), $used/pow(2, 30), $total/pow(2, 30)); ?></div>
|
||||
<div style="margin-top: 17px; font-size: 12px;"><?php echo sprintf(_("%01.1fGB of %01.1fGB"), $used / pow(2, 30), $total / pow(2, 30)); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="plupload_error">
|
||||
<table></table>
|
||||
<table></table>
|
||||
</div>
|
||||
|
||||
<div id="recent_uploads_wrapper" class="lib-content ui-widget ui-widget-content block-shadow content-pane wide-panel">
|
||||
<div id="recent_uploads" class="outer-datatable-wrapper padded">
|
||||
<div id="recent_uploads_filter">
|
||||
<form>
|
||||
<input type="radio" name="upload_status" id="upload_status_all" checked /><label for="upload_status_all"><?php echo _("All")?></label>
|
||||
<input type="radio" name="upload_status" id="upload_status_failed" /><label for="upload_status_failed"><?php echo _("Failed")?></label>
|
||||
<input type="radio" name="upload_status" id="upload_status_pending" /><label for="upload_status_pending"><?php echo _("Pending")?></label>
|
||||
<input type="radio" name="upload_status" id="upload_status_all" checked /><label for="upload_status_all"><?php echo _("All") ?></label>
|
||||
<input type="radio" name="upload_status" id="upload_status_failed" /><label for="upload_status_failed"><?php echo _("Failed") ?></label>
|
||||
<input type="radio" name="upload_status" id="upload_status_pending" /><label for="upload_status_pending"><?php echo _("Pending") ?></label>
|
||||
</form>
|
||||
</div>
|
||||
<H2><?php echo _("Recent Uploads")?></H2>
|
||||
<table id="recent_uploads_table" class="datatable lib-content ui-widget ui-widget-content block-shadow"
|
||||
cellpadding="0" cellspacing="0"></table>
|
||||
<H2><?php echo _("Recent Uploads") ?></H2>
|
||||
<table id="recent_uploads_table" class="datatable lib-content ui-widget ui-widget-content block-shadow" cellpadding="0" cellspacing="0"></table>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -28,7 +28,7 @@ the name of the show from the drop-down menu which will appear.
|
|||
|
||||

|
||||
|
||||
On the left side of the page, the **Start** and **End** times, **Duration**
|
||||
On the left side of the page, the **Start** and **End** times, **Duration**
|
||||
and **Title** of each content item are shown. On the right, **Creator**,
|
||||
**Album**, **Cue** or **Fade** times and **Mime** type (file format) can also be
|
||||
shown. This information can help you to prepare voice tracks for insertion into
|
||||
|
|
|
@ -193,6 +193,6 @@ rabbitmqctl add_vhost /airtime
|
|||
rabbitmqctl add_user airtime XXXXXXXXXXXXXXXXXXXX
|
||||
rabbitmqctl set_permissions -p /airtime airtime
|
||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||
"airtime-pypo|pypo-fetch|airtime-analyzer|media-monitor"
|
||||
```
|
||||
|
|
|
@ -24,10 +24,10 @@ When sending metadata about your stream to an Icecast server in non-Latin alphab
|
|||
|
||||
The solution is to specify that the metadata for the MP3 mount point you are using should be interpreted using UTF-8 encoding. You can do this by adding the following stanza to the _/etc/icecast2/icecast.xml_ file, where _libretime.mp3_ is the name of your mount point:
|
||||
|
||||
<mount>
|
||||
<mount-name>/libretime.mp3</mount-name>
|
||||
<charset>UTF-8</charset>
|
||||
</mount>
|
||||
<mount>
|
||||
<mount-name>/libretime.mp3</mount-name>
|
||||
<charset>UTF-8</charset>
|
||||
</mount>
|
||||
|
||||
After saving the _/etc/icecast2/icecast.xml_ file, you should restart the Icecast server:
|
||||
|
||||
|
@ -71,7 +71,7 @@ The example _<mount>_ section provided in the _icecast.xml_ file is commented ou
|
|||
|
||||
These mount point definitions mean that a client connecting to a URL such as *http://icecast.example.com:8000/stream.ogg* will first fall back to the _/live.ogg_ mount point if it is available. If not, the client will fall back in turn to the _/airtime_128_ mount point for LibreTime playout.
|
||||
|
||||
Setting the value of _<fallback-override>_ to 1 (enabled) means that when the _/live.ogg_ mount point becomes available again, the client will be re-connected to it. If you wish to hide the _/airtime_128_ and _/live.ogg_ mount points from the public Icecast web interface, set the value of _<hidden>_ in each of these definitions to 1.
|
||||
Setting the value of _<fallback-override>_ to 1 (enabled) means that when the _/live.ogg_ mount point becomes available again, the client will be re-connected to it. If you wish to hide the _/airtime_128_ and _/live.ogg_ mount points from the public Icecast web interface, set the value of _<hidden>_ in each of these definitions to 1.
|
||||
|
||||
## Source configuration
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ layout: article
|
|||
category: manager
|
||||
---
|
||||
|
||||
The Listener Stats page on the Analytics menu shows graphs of listener connections to the configured streaming servers for the selected date and time range. On the right side, a green **Status** indicator shows **OK** if the connection to the streaming server is active.
|
||||
The Listener Stats page on the Analytics menu shows graphs of listener connections to the configured streaming servers for the selected date and time range. On the right side, a green **Status** indicator shows **OK** if the connection to the streaming server is active.
|
||||
|
||||

|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ The **History Templates** page on the History menu enables you to prepare report
|
|||
|
||||

|
||||
|
||||
Either of these actions opens a page in which you can name the new template, and add or remove elements from the list on the left. To add a new element from the list on the right, click the plus icon for the item you require. If the element you require is not listed, you can use the **Add New Field** box at the lower end of the right side column. Select _string_, _boolean_, *integer*, or _float_, depending on the type of data that you wish to log, and then click the **+ Add** button.
|
||||
Either of these actions opens a page in which you can name the new template, and add or remove elements from the list on the left. To add a new element from the list on the right, click the plus icon for the item you require. If the element you require is not listed, you can use the **Add New Field** box at the lower end of the right side column. Select _string_, _boolean_, _integer_, or _float_, depending on the type of data that you wish to log, and then click the **+ Add** button.
|
||||
|
||||
When the template is in the format you require, click the **Save** button, and **Set Default Template** if you wish. The new template will now be listed on the History Templates page. If you have set a new default template, any changes will be visible on the tabs of the Playout History page.
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ On file ingest, LibreTime analyzes each Ogg Vorbis, MP3, AAC or FLAC file's loud
|
|||
|
||||
Because of this automatic gain adjustment, any files with average loudness higher than -14 dBFS will not sound louder than quieter files at playout time, but the lower crest factor in the louder files (their relatively low peak-to-average ratio) may be apparent in the output, making those files sound less dynamic. This may be an issue for contemporary popular music, which can average at -9 dBFS or louder before ReplayGain adjustment. (See <http://www.soundonsound.com/sos/sep11/articles/loudness.htm> for a detailed analysis of the problem).
|
||||
|
||||
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as _DR14_ on some dynamic range meters, such as the command-line DR14 T.meter available from <http://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in LibreTime's Stream Settings page can be adjusted to suit their material.
|
||||
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as _DR14_ on some dynamic range meters, such as the command-line DR14 T.meter available from <http://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in LibreTime's Stream Settings page can be adjusted to suit their material.
|
||||
|
||||
Large transient peaks in otherwise quiet files should be avoided, to guard against the need for peak limiting when ReplayGain is applied to those quieter files.
|
||||
|
||||
|
@ -72,7 +72,7 @@ Here is an example of a very quiet file where the use of ReplayGain would make t
|
|||
$ vorbisgain -d Peter_Lawson-Three_Gymn.ogg
|
||||
Analyzing files...
|
||||
|
||||
Gain | Peak | Scale | New Peak | Track
|
||||
Gain | Peak | Scale | New Peak | Track
|
||||
----------+------+-------+----------+------
|
||||
+17.39 dB | 4536 | 7.40 | 33585 | Peter_Lawson-Three_Gymn.ogg
|
||||
|
||||
|
@ -81,9 +81,9 @@ And here is an example of a very loud file, with lower crest factor, where the o
|
|||
$ vorbisgain -d Snoop_Dogg-Doggfather.ogg
|
||||
Analyzing files...
|
||||
|
||||
Gain | Peak | Scale | New Peak | Track
|
||||
Gain | Peak | Scale | New Peak | Track
|
||||
----------+-------+-------+----------+------
|
||||
-7.86 dB | 36592 | 0.40 | 14804 | Snoop_Dogg-Doggfather.ogg
|
||||
-7.86 dB | 36592 | 0.40 | 14804 | Snoop_Dogg-Doggfather.ogg
|
||||
|
||||
In the output from vorbisgain, _Peak_ is the maximum sample value of the file before any ReplayGain has been applied, where a value of 32,767 represents full scale when decoding to signed 16 bit samples. Note that lossy compressed files can have peaks greater than full scale, due to encoding artifacts. The _New Peak_ value for the Snoop Dogg file may be relatively low due to the hard limiting used in the mastering of that piece of music.
|
||||
|
||||
|
|
|
@ -36,19 +36,19 @@ Enter the server names you require, press **Ctrl+O** to write out the _/etc/ntp.
|
|||
|
||||
The server should respond:
|
||||
|
||||
* Stopping NTP server ntpd [ OK ]
|
||||
* Starting NTP server ntpd [ OK ]
|
||||
* Stopping NTP server ntpd [ OK ]
|
||||
* Starting NTP server ntpd [ OK ]
|
||||
|
||||
Then use the **ntpq -p** command to confirm that **ntp** is working. This command should produce output similar to the following:
|
||||
|
||||
ntpq -p
|
||||
remote refid st t when poll reach delay offset jitter
|
||||
remote refid st t when poll reach delay offset jitter
|
||||
==================================================================
|
||||
europium. 193.79.237.14 2 u 28 64 3 39.571 12.600 3.590
|
||||
norb.v4.c 46.227.200.72 3 u 28 64 3 47.856 -6.908 10.028
|
||||
82.113.15 193.62.22.82 2 u 29 64 3 11.458 -0.513 2.629
|
||||
ntppub.le 158.43.192.66 2 u 91 64 2 122.781 44.864 0.001
|
||||
dns0.rmpl 195.66.241.3 2 u 27 64 3 22.171 1.464 4.242
|
||||
europium. 193.79.237.14 2 u 28 64 3 39.571 12.600 3.590
|
||||
norb.v4.c 46.227.200.72 3 u 28 64 3 47.856 -6.908 10.028
|
||||
82.113.15 193.62.22.82 2 u 29 64 3 11.458 -0.513 2.629
|
||||
ntppub.le 158.43.192.66 2 u 91 64 2 122.781 44.864 0.001
|
||||
dns0.rmpl 195.66.241.3 2 u 27 64 3 22.171 1.464 4.242
|
||||
|
||||
### Adjusting the server time zone
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ end
|
|||
#cc-4633
|
||||
|
||||
|
||||
# NOTE
|
||||
# NOTE
|
||||
# A few values are hardcoded and may be dependent:
|
||||
# - the delay in gracetime is linked with the buffer duration of input.http
|
||||
# (delay should be a bit less than buffer)
|
||||
|
@ -288,7 +288,7 @@ def input.http_restart(~id,~initial_url="http://dummy/url")
|
|||
# Dummy output should be useless if HTTP stream is meant
|
||||
# to be listened to immediately. Otherwise, apply it.
|
||||
#
|
||||
# output.dummy(fallible=true,source)
|
||||
# output.dummy(fallible=true,source)
|
||||
|
||||
source
|
||||
|
||||
|
@ -311,7 +311,7 @@ def cross_http(~debug=true,~http_input_id,source)
|
|||
end
|
||||
end
|
||||
|
||||
# We use both metadata and status to know about the current URL.
|
||||
# We use both metadata and status to know about the current URL.
|
||||
# Using only metadata may be more precise is crazy corner cases,
|
||||
# but it's also asking too much: the metadata may not pass through
|
||||
# before the crosser is instantiated.
|
||||
|
@ -333,18 +333,18 @@ def cross_http(~debug=true,~http_input_id,source)
|
|||
end
|
||||
if !change then
|
||||
change := false
|
||||
# In principle one should avoid crossing on a live stream
|
||||
# In principle one should avoid crossing on a live stream
|
||||
# it'd be okay to do it here (eg. use add instead of sequence)
|
||||
# because it's only once per URL, but be cautious.
|
||||
sequence([fade.out(duration=cross_d,a),fade.in(b)])
|
||||
else
|
||||
# This is done on tracks inside a single stream.
|
||||
# This is done on tracks inside a single stream.
|
||||
# Do NOT cross here or you'll gradually empty the buffer!
|
||||
sequence([a,b])
|
||||
end
|
||||
end
|
||||
|
||||
# Setting conservative=true would mess with the delayed switch below
|
||||
# Setting conservative=true would mess with the delayed switch below
|
||||
cross(duration=cross_d,conservative=false,crosser,source)
|
||||
|
||||
end
|
||||
|
|
|
@ -244,7 +244,7 @@ end
|
|||
#cc-4633
|
||||
|
||||
|
||||
# NOTE
|
||||
# NOTE
|
||||
# A few values are hardcoded and may be dependent:
|
||||
# - the delay in gracetime is linked with the buffer duration of input.http
|
||||
# (delay should be a bit less than buffer)
|
||||
|
@ -288,7 +288,7 @@ def input.http_restart(~id,~initial_url="http://dummy/url")
|
|||
# Dummy output should be useless if HTTP stream is meant
|
||||
# to be listened to immediately. Otherwise, apply it.
|
||||
#
|
||||
# output.dummy(fallible=true,source)
|
||||
# output.dummy(fallible=true,source)
|
||||
|
||||
source
|
||||
|
||||
|
@ -311,7 +311,7 @@ def cross_http(~debug=true,~http_input_id,source)
|
|||
end
|
||||
end
|
||||
|
||||
# We use both metadata and status to know about the current URL.
|
||||
# We use both metadata and status to know about the current URL.
|
||||
# Using only metadata may be more precise is crazy corner cases,
|
||||
# but it's also asking too much: the metadata may not pass through
|
||||
# before the crosser is instantiated.
|
||||
|
@ -333,18 +333,18 @@ def cross_http(~debug=true,~http_input_id,source)
|
|||
end
|
||||
if !change then
|
||||
change := false
|
||||
# In principle one should avoid crossing on a live stream
|
||||
# In principle one should avoid crossing on a live stream
|
||||
# it'd be okay to do it here (eg. use add instead of sequence)
|
||||
# because it's only once per URL, but be cautious.
|
||||
sequence([fade.out(duration=cross_d,a),fade.in(b)])
|
||||
else
|
||||
# This is done on tracks inside a single stream.
|
||||
# This is done on tracks inside a single stream.
|
||||
# Do NOT cross here or you'll gradually empty the buffer!
|
||||
sequence([a,b])
|
||||
end
|
||||
end
|
||||
|
||||
# Setting conservative=true would mess with the delayed switch below
|
||||
# Setting conservative=true would mess with the delayed switch below
|
||||
cross(duration=cross_d,conservative=false,crosser,source)
|
||||
|
||||
end
|
||||
|
|
|
@ -235,7 +235,7 @@ end
|
|||
#cc-4633
|
||||
|
||||
|
||||
# NOTE
|
||||
# NOTE
|
||||
# A few values are hardcoded and may be dependent:
|
||||
# - the delay in gracetime is linked with the buffer duration of input.http
|
||||
# (delay should be a bit less than buffer)
|
||||
|
@ -279,7 +279,7 @@ def input.http_restart(~id,~initial_url="http://dummy/url")
|
|||
# Dummy output should be useless if HTTP stream is meant
|
||||
# to be listened to immediately. Otherwise, apply it.
|
||||
#
|
||||
# output.dummy(fallible=true,source)
|
||||
# output.dummy(fallible=true,source)
|
||||
|
||||
source
|
||||
|
||||
|
@ -302,7 +302,7 @@ def cross_http(~debug=true,~http_input_id,source)
|
|||
end
|
||||
end
|
||||
|
||||
# We use both metadata and status to know about the current URL.
|
||||
# We use both metadata and status to know about the current URL.
|
||||
# Using only metadata may be more precise is crazy corner cases,
|
||||
# but it's also asking too much: the metadata may not pass through
|
||||
# before the crosser is instantiated.
|
||||
|
@ -324,18 +324,18 @@ def cross_http(~debug=true,~http_input_id,source)
|
|||
end
|
||||
if !change then
|
||||
change := false
|
||||
# In principle one should avoid crossing on a live stream
|
||||
# In principle one should avoid crossing on a live stream
|
||||
# it'd be okay to do it here (eg. use add instead of sequence)
|
||||
# because it's only once per URL, but be cautious.
|
||||
sequence([fade.out(duration=cross_d,sa),fade.in(sb)])
|
||||
else
|
||||
# This is done on tracks inside a single stream.
|
||||
# This is done on tracks inside a single stream.
|
||||
# Do NOT cross here or you'll gradually empty the buffer!
|
||||
sequence([sa,sb])
|
||||
end
|
||||
end
|
||||
|
||||
# Setting conservative=true would mess with the delayed switch below
|
||||
# Setting conservative=true would mess with the delayed switch below
|
||||
cross(duration=cross_d,conservative=false,crosser,source)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue