LibreOffice Presentation Sounds

In macOS, the sound effect of LibreOffice’s Presentation can be played below, but is it possible to do the same in Windows?

dir="/Applications/LibreOffice.app/Contents/Resources/gallery/sounds/"
35.times do |i|
  sample dir,i
  sleep sample_duration dir,i
end

Also, is it possible to know from Sonic Pi that the number of WAV files in the directory is 35?

Hi
I think that folder path ‘drag-n-drop’ is platform-agnostic. If LibreOffice is on your machine it lives in the Program Files folder (? many years since I used Windows). As long as the path exists and is correct. You can query the total number of files in any folder as follows:

samps = "/Users/brendan/Desktop/SONICPI-2024/samps4kevyn/blipz-7/"

names = Dir.children samps
puts names.length, 'files'
sleep 2

names.length.times do |i|
  tick
  puts names.look
  
  sample samps,i
  sleep 0.5
  
end

PD-Pi

1 Like

Thank you very much.
I understand Ruby’s Dir.children.

I do not have Windows at hand.
Could you please tell me the directory where the sound effects for Windows LibreOffice Presentation are located?

Sorry I don’t have Windows, or LibreOffice.

Thank you brendanmac.
Could someone please try this on LibreOffice on Windows?

dir="C:/Program Files/LibreOffice/share/gallery/sounds/"

works on Windows 11 with LibreOffice 7.6

1 Like

Another way to get the number of samples:

load_sample dir, lambda {|s| print s.length; s}

Also:

dir = "path"

dir.each do |i|
  sample i
end

for i in dir 
  sample i
end

both work without knowing the size of dir

1 Like

Concision is the gold standard @Davids-Music-Lab

Thank you very much.
The second one did not work with the error
“undefined method `each’ for an instance of String (NoMethodError)”.
It worked when I modified it as follows.

(Dir.children dir).each do |i|
  sample dir+i
  sleep 0.1
end

for i in (Dir.children dir)
  sample dir+i
  sleep 0.1
end

Should work with this change:

dir = sample_paths "path"