Compare commits

...

3 Commits

Author SHA1 Message Date
Lucien Greathouse
e482aba030 Release v7.2.1 2022-07-08 20:22:16 -04:00
Samuel P
535e4d42bb Change Notification sound to generic sound (#566)
* Change Notification sound to generic sound

The notification sound causes the game to summon an error due to no experience permissions with no way to grant permission. This is due to the new audio policy update.

* Update Notification sound
2022-07-02 19:33:24 -04:00
boatbomber
54398d4c4b Add setting to toggle sound effects (#568)
* Use soundPlayer object with setting

* Style changes
2022-07-02 05:12:58 -04:00
10 changed files with 45 additions and 12 deletions

View File

@@ -2,6 +2,14 @@
## Unreleased Changes
## [7.2.1] - July 8, 2022
* Fixed notification sound by changing it to a generic sound. ([#566])
* Added setting to turn off sound effects. ([#568])
[#566]: https://github.com/rojo-rbx/rojo/pull/566
[#568]: https://github.com/rojo-rbx/rojo/pull/568
[7.2.0]: https://github.com/rojo-rbx/rojo/releases/tag/v7.2.0
## [7.2.0] - June 29, 2022
* Added support for `.luau` files. ([#552])
* Added support for live syncing Attributes and Tags. ([#553])

2
Cargo.lock generated
View File

@@ -1858,7 +1858,7 @@ dependencies = [
[[package]]
name = "rojo"
version = "7.2.0"
version = "7.2.1"
dependencies = [
"anyhow",
"backtrace",

View File

@@ -1,6 +1,6 @@
[package]
name = "rojo"
version = "7.2.0"
version = "7.2.1"
rust-version = "1.57.0"
authors = ["Lucien Greathouse <me@lpghatguy.com>"]
description = "Enables professional-grade development tools for Roblox developers"

View File

@@ -11,7 +11,6 @@ local bindingUtil = require(script.Parent.bindingUtil)
local Theme = require(Plugin.App.Theme)
local Assets = require(Plugin.Assets)
local playSound = require(Plugin.playSound)
local BorderedContainer = require(Plugin.App.Components.BorderedContainer)
@@ -53,7 +52,7 @@ function Notification:didMount()
})
)
playSound(Assets.Sounds.Notification)
self.props.soundPlayer:play(Assets.Sounds.Notification)
self.timeout = task.spawn(function()
local clock = os.clock()
@@ -182,6 +181,7 @@ function Notifications:render()
for index, notif in ipairs(self.props.notifications) do
notifs[notif] = e(Notification, {
soundPlayer = self.props.soundPlayer,
text = notif.text,
timestamp = notif.timestamp,
timeout = notif.timeout,

View File

@@ -10,6 +10,7 @@ local defaultSettings = {
openScriptsExternally = false,
twoWaySync = false,
showNotifications = true,
playSounds = true,
}
local Settings = {}

View File

@@ -210,12 +210,20 @@ function SettingsPage:render()
layoutOrder = 2,
}),
PlaySounds = e(Setting, {
id = "playSounds",
name = "Play Sounds",
description = "Toggle sound effects",
transparency = self.props.transparency,
layoutOrder = 3,
}),
TwoWaySync = e(Setting, {
id = "twoWaySync",
name = "Two-Way Sync",
description = "EXPERIMENTAL! Editing files in Studio will sync them into the filesystem",
transparency = self.props.transparency,
layoutOrder = 3,
layoutOrder = 4,
}),
Layout = e("UIListLayout", {

View File

@@ -12,6 +12,7 @@ local Dictionary = require(Plugin.Dictionary)
local ServeSession = require(Plugin.ServeSession)
local ApiContext = require(Plugin.ApiContext)
local preloadAssets = require(Plugin.preloadAssets)
local soundPlayer = require(Plugin.soundPlayer)
local Theme = require(script.Theme)
local PluginSettings = require(script.PluginSettings)
@@ -272,6 +273,7 @@ function App:render()
Padding = UDim.new(0, 5),
}),
notifs = e(Notifications, {
soundPlayer = self.props.soundPlayer,
notifications = self.state.notifications,
onClose = function(index)
self:closeNotification(index)
@@ -347,10 +349,11 @@ return function(props)
plugin = props.plugin,
}, {
App = PluginSettings.with(function(settings)
local settingsProps = Dictionary.merge(props, {
local mergedProps = Dictionary.merge(props, {
settings = settings,
soundPlayer = soundPlayer.new(settings),
})
return e(App, settingsProps)
return e(App, mergedProps)
end),
})
end

View File

@@ -46,7 +46,7 @@ local Assets = {
},
},
Sounds = {
Notification = "rbxassetid://9716079936",
Notification = "rbxassetid://203785492",
},
StartSession = "",
SessionActive = "",

View File

@@ -5,8 +5,8 @@ local isDevBuild = script.Parent.Parent:FindFirstChild("ROJO_DEV_BUILD") ~= nil
return strict("Config", {
isDevBuild = isDevBuild,
codename = "Epiphany",
version = {7, 2, 0},
expectedServerVersionString = "7.0 or newer",
version = {7, 2, 1},
expectedServerVersionString = "7.2 or newer",
protocolVersion = 4,
defaultHost = "localhost",
defaultPort = 34872,

View File

@@ -1,4 +1,4 @@
-- Roblox decided that sounds only play in Edit mode when parented to a plugin widget, for some reason
-- Sounds only play in Edit mode when parented to a plugin widget, for some reason
local plugin = plugin or script:FindFirstAncestorWhichIsA("Plugin")
local widget = plugin:CreateDockWidgetPluginGui("Rojo_soundPlayer", DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float,
@@ -9,7 +9,18 @@ local widget = plugin:CreateDockWidgetPluginGui("Rojo_soundPlayer", DockWidgetPl
widget.Name = "Rojo_soundPlayer"
widget.Title = "Rojo Sound Player"
return function(soundId)
local SoundPlayer = {}
SoundPlayer.__index = SoundPlayer
function SoundPlayer.new(settings)
return setmetatable({
settings = settings,
}, SoundPlayer)
end
function SoundPlayer:play(soundId)
if self.settings and self.settings:get("playSounds") == false then return end
local sound = Instance.new("Sound")
sound.SoundId = soundId
sound.Parent = widget
@@ -20,3 +31,5 @@ return function(soundId)
sound:Play()
end
return SoundPlayer