Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
99667ce98d
@ -9,7 +9,7 @@
|
|||||||
<property name="BASE_DIR" value="${basedir}" />
|
<property name="BASE_DIR" value="${basedir}" />
|
||||||
<property name="SRC_DIR" value="${BASE_DIR}/src" />
|
<property name="SRC_DIR" value="${BASE_DIR}/src" />
|
||||||
|
|
||||||
<property name="OUTPUT_DIR" value="${BASE_DIR}/bin" />
|
<property name="OUTPUT_DIR" value="${BASE_DIR}/client" />
|
||||||
<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
|
<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
|
||||||
|
|
||||||
<target name="init-ant-contrib">
|
<target name="init-ant-contrib">
|
||||||
|
@ -674,3 +674,12 @@ MDIWindow { /*None of the following properties are overridden by the MDIWindow c
|
|||||||
{
|
{
|
||||||
icon: Embed('assets/images/webcam.png');
|
icon: Embed('assets/images/webcam.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Alert {
|
||||||
|
borderColor: #DFDFDF;
|
||||||
|
backgroundColor: #EFEFEF;
|
||||||
|
borderAlpha: 1;
|
||||||
|
shadowDistance: 1;
|
||||||
|
dropShadowColor: #FFFFFF;
|
||||||
|
color: #000000;
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
function setTitle(title){
|
function setTitle(title){
|
||||||
document.title=title;
|
document.title= "BigBlueButton - " + title;
|
||||||
}
|
}
|
||||||
|
|
||||||
var i = 1;
|
var i = 1;
|
||||||
|
@ -105,7 +105,7 @@ package org.bigbluebutton.main.model.users
|
|||||||
}
|
}
|
||||||
|
|
||||||
// assign the meeting name to the document title
|
// assign the meeting name to the document title
|
||||||
ExternalInterface.call("setTitle", "BigBlueButton - " + _conferenceParameters.meetingName);
|
ExternalInterface.call("setTitle", _conferenceParameters.meetingName);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Temporarily store the parameters in global BBB so we get easy access to it.
|
* Temporarily store the parameters in global BBB so we get easy access to it.
|
||||||
|
@ -179,12 +179,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
// Confirm logout using built-in alert
|
// Confirm logout using built-in alert
|
||||||
var alert:Alert = Alert.show(ResourceUtil.getInstance().getString('bbb.logout.confirm.message'), ResourceUtil.getInstance().getString('bbb.logout.confirm.title'), Alert.YES | Alert.NO, this, alertLogout, null, Alert.YES);
|
var alert:Alert = Alert.show(ResourceUtil.getInstance().getString('bbb.logout.confirm.message'), ResourceUtil.getInstance().getString('bbb.logout.confirm.title'), Alert.YES | Alert.NO, this, alertLogout, null, Alert.YES);
|
||||||
|
|
||||||
var newX:Number = this.width/2 - alert.width/2;
|
var newX:Number = langSelector.x + langSelector.width/2;
|
||||||
var newY:Number = 86;
|
var newY:Number = btnLogout.y + btnLogout.height + 5;
|
||||||
|
|
||||||
alert.validateNow();
|
alert.validateNow();
|
||||||
alert.move(newX, newY);
|
alert.move(newX, newY);
|
||||||
Accessibility.updateProperties();
|
//Accessibility.updateProperties();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
doLogout();
|
doLogout();
|
||||||
@ -312,6 +312,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
<mx:HBox id="quickLinks" width="1" includeInLayout="false">
|
<mx:HBox id="quickLinks" width="1" includeInLayout="false">
|
||||||
<mx:LinkButton id="usersLinkBtn" click="onQuickLinkClicked('users')" label="{ResourceUtil.getInstance().getString('bbb.users.quickLink.label')}"
|
<mx:LinkButton id="usersLinkBtn" click="onQuickLinkClicked('users')" label="{ResourceUtil.getInstance().getString('bbb.users.quickLink.label')}"
|
||||||
accessibilityDescription="{usersLinkBtn.label}" toolTip="{usersLinkBtn.label}"
|
accessibilityDescription="{usersLinkBtn.label}" toolTip="{usersLinkBtn.label}"
|
||||||
|
@ -289,6 +289,29 @@ module BigBlueButton
|
|||||||
File.rename(temp_wav_file, file)
|
File.rename(temp_wav_file, file)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Stretch/squish the length of the audio file to match the requested length
|
||||||
|
# The length parameter should be in milliseconds.
|
||||||
|
# Returns the filename of the new file (in the same directory as the original)
|
||||||
|
def self.stretch_audio_file(file, length, sample_rate)
|
||||||
|
BigBlueButton.logger.info("Task: Stretching/Squishing Audio")
|
||||||
|
orig_length = determine_length_of_audio_from_file(file)
|
||||||
|
new_file = "#{file}.stretch.wav"
|
||||||
|
|
||||||
|
if (orig_length == 0)
|
||||||
|
BigBlueButton.logger.error("Stretch received 0-length file as input!")
|
||||||
|
# Generate silence to fill the length
|
||||||
|
generate_silence(length, new_file, sample_rate)
|
||||||
|
return new_file
|
||||||
|
end
|
||||||
|
|
||||||
|
speed = orig_length.to_f / length.to_f
|
||||||
|
BigBlueButton.logger.info("Adjusting #{file} speed to #{speed}")
|
||||||
|
sox_cmd = "sox #{file} #{new_file} speed #{speed} rate -h #{sample_rate} trim 0 #{length.to_f/1000}"
|
||||||
|
|
||||||
|
BigBlueButton.execute(sox_cmd)
|
||||||
|
return new_file
|
||||||
|
end
|
||||||
|
|
||||||
# Determine the audio padding we need to generate.
|
# Determine the audio padding we need to generate.
|
||||||
def self.generate_audio_paddings(events, events_xml)
|
def self.generate_audio_paddings(events, events_xml)
|
||||||
|
@ -41,7 +41,10 @@ module BigBlueButton
|
|||||||
BigBlueButton::AudioEvents.generate_silence(ae.length_of_gap, ae.file, sampling_rate)
|
BigBlueButton::AudioEvents.generate_silence(ae.length_of_gap, ae.file, sampling_rate)
|
||||||
else
|
else
|
||||||
# Substitute the original file location with the archive location
|
# Substitute the original file location with the archive location
|
||||||
ae.file = ae.file.sub(/.+\//, "#{audio_dir}/")
|
orig_file = ae.file.sub(/.+\//, "#{audio_dir}/")
|
||||||
|
length = ae.stop_event_timestamp.to_i - ae.start_event_timestamp.to_i
|
||||||
|
|
||||||
|
ae.file = BigBlueButton::AudioEvents.stretch_audio_file(orig_file, length, sampling_rate)
|
||||||
end
|
end
|
||||||
|
|
||||||
audio_files << ae.file
|
audio_files << ae.file
|
||||||
|
@ -645,7 +645,7 @@ def processChatMessages
|
|||||||
chat_sender = node.xpath(".//sender")[0].text()
|
chat_sender = node.xpath(".//sender")[0].text()
|
||||||
chat_message = BigBlueButton::Events.linkify(node.xpath(".//message")[0].text())
|
chat_message = BigBlueButton::Events.linkify(node.xpath(".//message")[0].text())
|
||||||
chat_start = (chat_timestamp.to_i - $meeting_start.to_i) / 1000
|
chat_start = (chat_timestamp.to_i - $meeting_start.to_i) / 1000
|
||||||
$xml.chattimeline(:in => chat_start, :direction => :down, :name => chat_sender, :message => chat_message, :target => :chat )
|
$xml.chattimeline(:in => chat_start, :direction => :down, :name => chat_sender, :message => chat_message.to_s.gsub("event:",""), :target => :chat )
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user