Created attachment 83305 [details] Other Sound dialog Problem description: When adding a custom slide transistion sound, Impress only creates link to that file and plays the sound locally. However if you send the presentation to another computer or USB etc, the custom slide trans. sound does not work. The problem is caused by the Other Sound dialog,under Slide Transition -> Sound selection, which misses include sound file and inserst the file directly as link.(Screenshot1) While Insert - Movie or Sound dialog inserts direcly the sound file to the presentation, and has Link option too(screenshot2) Expected behavior: Having custom transistion sounds within the presentation file which may enable to use custom transition sounds on other computers. Operating System: All Version: 4.1.0.4 release
Created attachment 83306 [details] Insert - Movie or Sound dialog
Should be relatively simple to add this, probably by using the standard open dialog implementation (I do not see anything that would require special treatment). The "Other sound..." dialog is implemented by class SdOpenSoundFileDialog in sd/source/ui/dlg/filedlg.cxx , "Insert -> Movie or Sound" uses the standard open dialog implementation, run from function MediaWindow::executeMediaURLDialog() in avmedia/source/viewer/mediawindow.cxx .
*** Bug 57291 has been marked as a duplicate of this bug. ***
adding LibreOffice developer list as CC to unresolved EasyHacks for better visibility. see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
Duplicate of bug 44223 ??
Having researched some details here, for the embedding itself, I'd try to use code like http://cgit.freedesktop.org/libreoffice/core/tree/sd/source/ui/view/sdview4.cxx#n277 See the 'realURL' - if it is a link, then the URL is copied there, if it should be embedded, ::avmedia::EmbedMedia will take care of the embedding, and will provide you with the updated URL that will point to the embedded object. You want to do this in sd/source/ui/animations/CustomAnimationDialog.cxx just after aFile = aFileDialog.GetPath(); I guess - hope this works :-)
Hi, My patch related to this bug is at https://gerrit.libreoffice.org/#/c/8700/ . I have tried much but I am kind of stuck since few days. Any help will be really helpful. In-order to embed the music in the slidetransition, we have to use EmbedMedia() function. I have used that function, but I am not successful in embedding the media file. The EmbedMedia() takes a reference of XModel object and XModel itself takes a reference of SdDrawDocument. And it is initialized like this: XModel(GetDoc().GetObjectShell()->GetModel()). So here GetDoc() returns a reference of SdDrawDocument(i.e SdDrawDocument&) and then it proceeds accordingly. In the SlideTransitionPane.cxx, I have access to "SdDrawDocument* mpDrawDoc". So I do like this: uno::Reference<frame::XModel> const xModel(mpDrawDoc->GetObjectShell()->GetModel()); And then use this xModel in the EmbedMedia(). The above code don't give me any compilation error. But, when I open an instance of Impress from my terminal, I could see this messages http://pastebin.ca/2679016. And this seems to be the reason behind the EmbedMedia() not able to create & store the .mp3 file in "Media/" (which is vnd.sun.star.Package:Media). So I think, I require a reference to SdDrawDocument, but I am not sure how can I get one. Typecasting is not possible because 'Operator=' is not defined for "SdDrawDocument". My current patch includes a changed dialog and also it's compiling correctly. So can someone please look at my patch and let me know their views and guide me? And let me know if I am in the right direction.
(In reply to comment #7) > The above code don't give me any compilation error. But, when I open an > instance of Impress from my terminal, I could see this messages > http://pastebin.ca/2679016. And this seems to be the reason behind the > EmbedMedia() not able to create & store the .mp3 file in "Media/" (which is > vnd.sun.star.Package:Media). > That paste is not really helpful, since you can't tell which part of your code is triggering it. Have you debugged this (both a working call to EmbedMedia, and your snippets)?
(In reply to comment #8) > (In reply to comment #7) > > The above code don't give me any compilation error. But, when I open an > > instance of Impress from my terminal, I could see this messages > > http://pastebin.ca/2679016. And this seems to be the reason behind the > > EmbedMedia() not able to create & store the .mp3 file in "Media/" (which is > > vnd.sun.star.Package:Media). > > > That paste is not really helpful, since you can't tell which part of your > code is triggering it. Have you debugged this (both a working call to > EmbedMedia, and your snippets)? Yes, I had debugged the working call to "EmbedMedia()", when called by (1) "Insert->Media and Sound" and (2) and for this case (slide transitions). It seems to work similarly in both cases. But, still for the second case it does not embed the music file.
(In reply to Vishv from comment #9) > (In reply to comment #8) > > (In reply to comment #7) > > > The above code don't give me any compilation error. But, when I open an > > > instance of Impress from my terminal, I could see this messages > > > http://pastebin.ca/2679016. And this seems to be the reason behind the > > > EmbedMedia() not able to create & store the .mp3 file in "Media/" (which is > > > vnd.sun.star.Package:Media). > > > > > That paste is not really helpful, since you can't tell which part of your > > code is triggering it. Have you debugged this (both a working call to > > EmbedMedia, and your snippets)? > > Yes, I had debugged the working call to "EmbedMedia()", when called by (1) > "Insert->Media and Sound" and (2) and for this case (slide transitions). It > seems to work similarly in both cases. But, still for the second case it > does not embed the music file. Ping :)
Migrating Whiteboard tags to Keywords: ( EasyHack DifficultyInteresting TopicUI SkillCpp SkillVcl) [NinjaEdit]
Removing assigned as it is not There are currently no code pointer ?
NEEDINFO should only be set if we need more information to diagnose or replicate the issue. Best not to use it if we just need to provide code pointers. Therefore setting status to NEW.
(In reply to Chris Sherlock from comment #13) > NEEDINFO should only be set if we need more information to diagnose or > replicate the issue. Best not to use it if we just need to provide code > pointers. Therefore setting status to NEW. Well let me put it differently, it is only an EasyHack when we have code pointers, so having it as "NEW" causes problems e.g. in our Wiki, because it is shown as a ready to go EasyHack. I opted not to remove the EASYHACK tag, because it would be confusing, but setting NEEDINFO, with the clear comment asking for a code pointer, seems like a good hint to the reporter. we actually discussed this in ESC a while ago, and I am tasked with walking through all EasyHacks and make sure they are valid with code pointers etc. A new contributor actually NEEDINFO to be able to diagnose the problem (a code pointeer), so seen from that perspective it cannot be wrong.
*** Bug 100540 has been marked as a duplicate of this bug. ***
WIP Patch here: https://gerrit.libreoffice.org/#/c/26854/
Samuel Mehrbrodt committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=518e1999c4a77e6a8fb7ddf02568461d0343bb9a tdf#67544 Embed slide transition sound in the presentation It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
(In reply to Commit Notification from comment #17) > Samuel Mehrbrodt committed a patch related to this issue. > It has been pushed to "master": > > http://cgit.freedesktop.org/libreoffice/core/commit/ > ?id=518e1999c4a77e6a8fb7ddf02568461d0343bb9a > > tdf#67544 Embed slide transition sound in the presentation > > It will be available in 5.3.0. > > The patch should be included in the daily builds available at > http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More > information about daily builds can be found at: > http://wiki.documentfoundation.org/Testing_Daily_Builds > > Affected users are encouraged to test the fix and report feedback. Salamu alaikum, Hi every one and thank you for this great project Libreoffice. I'm a mother of two children and I'm using both LibreOffice Impress and GNU/Linux (Debian, Mint) OS to create slideshow presentations as educational videos for my 2 kids. Here are some of my educational videos created with Libreoffice Impress so far: https://www.youtube.com/watch?v=otdkoNp1bbU https://www.youtube.com/watch?v=NWzVH-BA5zI https://www.youtube.com/watch?v=O4BUx7_COjE But in all of them, I encounter the problem of adding Sounds to Transitions and Custom Animations, as mentioned here : https://bugs.documentfoundation.org/show_bug.cgi?id=104678 Since i'm not a developer, All i can do is to file a bug if not already done. That is why I hope that you Developper people and ICT guys can help us non-too-ICT oriented people, use this great Office Suite to deal with our daily ICT needs. Thank you all!
(In reply to Al-Ayoubi from comment #18) > (In reply to Commit Notification from comment #17) > > Samuel Mehrbrodt committed a patch related to this issue. > > It has been pushed to "master": > > > > http://cgit.freedesktop.org/libreoffice/core/commit/ > > ?id=518e1999c4a77e6a8fb7ddf02568461d0343bb9a > > > > tdf#67544 Embed slide transition sound in the presentation > > > > It will be available in 5.3.0. > > > > The patch should be included in the daily builds available at > > http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More > > information about daily builds can be found at: > > http://wiki.documentfoundation.org/Testing_Daily_Builds > > > > Affected users are encouraged to test the fix and report feedback. > > Salamu alaikum, > > Hi every one and thank you for this great project Libreoffice. > > I'm a mother of two children and I'm using both LibreOffice Impress and > GNU/Linux (Debian, Mint) OS to create slideshow presentations as educational > videos for my 2 kids. > > Here are some of my educational videos created with Libreoffice Impress so > far: > > https://www.youtube.com/watch?v=otdkoNp1bbU > > https://www.youtube.com/watch?v=NWzVH-BA5zI > > https://www.youtube.com/watch?v=O4BUx7_COjE > > But in all of them, I encounter the problem of adding Sounds to Transitions > and Custom Animations, as mentioned here : > > https://bugs.documentfoundation.org/show_bug.cgi?id=104678 > > > Since i'm not a developer, All i can do is to file a bug if not already > done. That is why I hope that you Developper people and ICT guys can help us > non-too-ICT oriented people, use this great Office Suite to deal with our > daily ICT needs. > > Thank you all! I've tested the build that here is : Version: 5.3.0.0.beta2+ Build ID: 6eb2598a5d052220c6b569d1b49e80800850ac06 CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; VCL: gtk2; Layout Engine: new; TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:libreoffice-5-3, Time: 2016-12-14_22:50:48 Locale: en-US (en_US.UTF-8); Calc: group But the problem still persists, and it is impossible for me to create slideshows with custom animations+Sounds unless i use Microsoft Windows. Here is the daily build of the 14/12/2016 that i've tested: libreoffice-5-3~2016-12-14_22.50.48_LibreOfficeDev_5.3.0.0.beta2_Linux_x86-64_deb
Dear developer, This bug has been in ASSIGNED status for more than 3 months without any activity. Resetting it to NEW. Please assigned it back to yourself if you're still working on this.
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
still repro in Version: 6.3.0.0.alpha0+ Build ID: 6b4ea2d8ddd681fec98773d7e0bbec9657a1fc08 CPU threads: 4; OS: Windows 6.1; UI render: default; VCL: win; Locale: ru-RU (ru_RU); UI-Language: en-US Calc: threaded
LO 7.0.2.2 does have a 'link' checkbox when inserting transition sound from a file. But this checkbox is ignored, the sound file is always included as a link, whether it is checked or not. Steps to reproduce: - create a new slideshow, add a 2nd slide - save the presentation. - in "slide transition", select a sound file and keep 'link' unchecked In presentation mode, the slide will play the sound - close the presentation, rename the sound file and open the presentation In presentation mode, the slide will not play the sound. Unzipping the .odp does not show the .mp3 file anywhere, so it was not embedded. To me it is a severe bug blocking the use of LO! For distance learning in COVID times I have to add sound to my slides, but I can't.
I had the same issue on LibreOffice Impress 7.3.6.2, custom transition sounds are only linked, and when sending the odp file to someone else (on another computer), the sound is gone. This is especially a big problem if you need to make a soundtrack to the slides, for a work you need to send to someone else. At least, it should be stated somewhere that files are only linked, to warn the user that the sound is not included in the .odp ... Because otherwise the user just notices the problem at the end of the work, which might cause him big troubles and annoyances.
Still present in 7.4.3.2 (under MS Windows 11). The "link" checkbox is present, but the audio file is not embedded regardless of this checkbox.
Created attachment 184112 [details] File open dialog
Created attachment 184113 [details] The resulting presentation The audio file is not there: it was a 3.2 M MP3 file!
Still repro Version: 25.2.0.0.alpha0+ (X86_64) / Linux
Still present in version 25.2.5.2 X86_64, wow, 12 years old bug! I tried to make LibreOffice to embed the transition sound in ODP file: - FLAC, - MP3, - OGG, - OPUS, - MP4, - WMA - WAV None gets embeded, it's just linked... on the SAME computer. Now, if you move the ODP file to another folder WITHOUT the sound file, it does play perfectly. But, if you open it on another computer, WITH the soundfile in the SAME folder, it doesn't play the sound, AND the transition is marked with "no sound". Then I saved the same file with the transition sound configured into a PPTX format: - with WAV format, the soundfile gets embeded!! (the size of the file reflects it) - with any other format, it doesn't. Then I opened it: - in Impress on the same compouter: the transition is configured with sound, and it plays, even if it is moved to another folder, - in Impress on another computer: no sound for the transition, it doesn't play, - in FreeOffice on another computer, the same PPTX file has the transition WITH sound and it plays flawlessly. So LibreOffice Impress CAN embed a transition sound file, ONLY if it is a WAV file, AND saved with the PPTX (Powerpoint 2007-365) format (I didn't try other formats). But it can't recognize the embeded file and transition with sound in ANY format, though the generated file with emebeded sound plays flawlessly in FreeOffice. I didn't see any error on the terminal when executing Impress from the commandline. Please, can somebody look into this, it's pretty important to be able to embed the sound files from transitions, as it seems to be the only way to get a sound to play in the background of the whole presentation! Thanks for the great work anyway.
I found other bug reports that may be related: https://bugs.documentfoundation.org/show_bug.cgi?id=120569 (Custom Animation Sound Effect Not Played After ODP File Moved To Another Location) https://bugs.documentfoundation.org/show_bug.cgi?id=124230 (FILESAVE PPTX: Custom Animations Sound Lost on Roundtrip) https://bugs.documentfoundation.org/show_bug.cgi?id=148478 (FILESAVE PPTX: Audio used in slide transition has gone lost as transition sound if the audio file name contains Chinese Characters (but still exists in sound list)) https://bugs.documentfoundation.org/show_bug.cgi?id=72792 (Inserted music in any Start mode no playback sound from PPT) https://bugs.documentfoundation.org/show_bug.cgi?id=161473 (Impress stops playing sound files every new sesssion) And another which is related, but it's more an enhancement: https://bugs.documentfoundation.org/show_bug.cgi?id=149568 (Cannot remove 'other sounds' from Impress transition sound list) Those issues are quiet serious when somebody wants to have sound in the transitions, for me it was serious to the point I had to make my presentation on another Office suite. Maybe, as this bug has been around for 12 years, the importance of this bug should be bumped to "Major"? Best regards, Denis.
Hi, can anyone look into this, please? It has been open for more than 12 years!
*** Bug 161473 has been marked as a duplicate of this bug. ***
*** Bug 120569 has been marked as a duplicate of this bug. ***
Hi everyone, please don't take this as presumptuous — I just wanted to leverage new AI tools to bring fresh momentum to this long-standing bug. I had Claude Opus 4.5 analyze the full bug history and codebase references, and it identified that the core issue is straightforward: SlideTransitionPane.cxx never calls ::avmedia::EmbedMedia() after the sound file dialog returns, unlike the working "Insert → Audio or Video" path in sdview4.cxx which does. The 2016 fix (commit 518e1999) added a "Link" checkbox but never wired it to the actual embedding logic. The infrastructure is all there — it just needs to be connected. I've attached a detailed analysis with specific code pointers and proposed fixes. Hoping this helps someone pick it up after 12 years! 🙏 Here is the analysis and fix proposed by Claude Best regards and loves # Bug 67544 Analysis: Slide Transition Sound Not Embedded in Presentation ## Executive Summary Bug 67544, reported by Zeki Bildirici on 2013-07-30, describes that LibreOffice Impress **only links** (rather than embeds) custom slide transition sounds. Despite a fix committed in November 2016 by Samuel Mehrbrodt (commit `518e1999`), the bug persists in all versions through 25.2.5.2 (2025). The core issue is that the "Link" checkbox in the sound file dialog is **ignored** — transition sounds are always stored as external file references, making presentations non-portable. --- ## Timeline & Fix Attempts | Date | Event | |------|-------| | 2013-07-30 | Bug reported by Zeki Bildirici | | 2013-07-31 | David Tardon identifies code locations: `SdOpenSoundFileDialog` vs `MediaWindow::executeMediaURLDialog()` | | 2014-03-20 | Jan Holesovsky provides detailed code pointers, suggests using `::avmedia::EmbedMedia` | | 2014-04-04 | Vishv attempts patch (gerrit #8700), gets stuck — `EmbedMedia()` compiles but doesn't embed | | 2016-07-11 | Samuel Mehrbrodt posts WIP patch (gerrit #26854) | | **2016-11-11** | **Commit `518e1999` pushed to master — "tdf#67544 Embed slide transition sound"** | | 2016-12-16 | Al-Ayoubi tests 5.3.0 beta2 — **problem still persists** | | 2019-01-14 | Still reproducible in 6.3.0 | | 2020-10-29 | Anastasius confirms: "Link" checkbox exists but is **ignored** | | 2022-12-12 | Alexey Rukin confirms: 3.2 MB MP3 not embedded in resulting ODP | | 2024-10-06 | Still reproducible in 25.2.0 alpha | | 2025-08-15 | Denis provides exhaustive testing across formats | | 2025-11-29 | Bug still open, 4 duplicates merged | --- ## The Problem: Multi-Layered Failure Denis's testing in Comment 29 (2025) reveals the bug is actually **three separate failures**: ### Failure 1: ODP Format — Sound is NEVER Embedded When saving to ODP (native format): - No audio format gets embedded (FLAC, MP3, OGG, OPUS, MP4, WMA, WAV — all tested) - The sound is always stored as a filesystem link - Moving the ODP to another folder (without the sound file) results in silence ### Failure 2: PPTX Format — Only WAV Gets Embedded When saving to PPTX: - **WAV**: Embedded correctly (file size reflects it) ✓ - **MP3, OGG, FLAC, etc.**: NOT embedded, only linked ✗ ### Failure 3: PPTX Roundtrip — Embedded Sound Not Recognized on Reload Even when a PPTX file has a correctly embedded WAV transition sound: - Same computer: works ✓ - **Different computer in Impress: "no sound" shown for transition** ✗ - Different computer in FreeOffice: works perfectly ✓ This proves the PPTX export does embed correctly, but the **PPTX import filter** fails to read back the embedded transition sound. --- ## Root Cause Analysis ### Architecture of the Bug The code path for transition sounds is fundamentally different from "Insert → Audio or Video" media: ``` Insert → Audio or Video: MediaWindow::executeMediaURLDialog() → Uses standard sfx2 file dialog with proper Link checkbox → Calls ::avmedia::EmbedMedia() when Link is unchecked → Sound embedded into vnd.sun.star.Package:Media/ → Sound persisted in ODP ZIP under Media/ directory Slide Transition → Sound → Other Sound: SdOpenSoundFileDialog (sd/source/ui/dlg/filedlg.cxx) → Custom minimal file dialog → Returns raw filesystem URL (file:///path/to/sound.mp3) → URL stored directly in SdPage transition properties → On save: URL written as-is (external reference) → ::avmedia::EmbedMedia() NEVER CALLED ``` ### What the 2016 Commit Actually Did The 2016 commit (`518e1999`) by Samuel Mehrbrodt modified the `SdOpenSoundFileDialog` to include a "Link" checkbox. However, based on all subsequent reports, the critical step — **actually calling `EmbedMedia()` when Link is unchecked** — either was not implemented correctly or was reverted/broken by subsequent changes. ### The Specific Code Failure Points #### 1. `sd/source/ui/dlg/filedlg.cxx` — `SdOpenSoundFileDialog` This dialog class returns only a raw file path. Even though a "Link" checkbox was added, the calling code in `SlideTransitionPane` doesn't use the checkbox state to decide whether to embed. **What's missing**: After the user selects a file and unchecks "Link", the code should call `::avmedia::EmbedMedia()` to copy the sound file into the document's package storage and return the internal URL (e.g., `vnd.sun.star.Package:Media/sound.mp3`). #### 2. `sd/source/ui/animations/SlideTransitionPane.cxx` — Sound Selection Handler When the user picks "Other sound..." from the dropdown, the `SoundListBoxSelected` handler: 1. Opens `SdOpenSoundFileDialog` 2. Gets the raw file path 3. Stores it directly in `aEffect.maSoundURL` 4. Applies to the slide page **What's missing**: Between steps 2 and 3, the code should embed the sound file into the document package (when not linking) and replace the filesystem URL with the internal package URL. #### 3. ODP Save Path — `sd/source/filter/xml/` The ODP export filter writes the transition sound URL directly. Since the URL is a `file:///` path, it becomes an external reference. The ODF `<presentation:sound>` element's `xlink:href` attribute gets the raw filesystem path rather than a relative path to an embedded resource. #### 4. PPTX Import Path — `oox/source/ppt/` The PPTX import filter does not properly resolve embedded transition sound references. When reading `<p:snd>` elements that point to embedded media in the PPTX package, the filter fails to make them available to Impress's transition sound system. --- ## Proposed Fix The fix needs to touch **three areas**: ### Fix 1: Embed Sound on Selection (Primary Fix) **File**: `sd/source/ui/animations/SlideTransitionPane.cxx` In the sound selection handler (around `IMPL_LINK(SlideTransitionPane, SoundListBoxSelected, ...)`): ```cpp // After getting the file path from the dialog: OUString aFile = aFileDialog.GetPath(); // NEW: Embed the sound if "Link" is not checked if (!aFileDialog.IsInsertAsLink()) { // Get the document model uno::Reference<frame::XModel> xModel( mpDrawDoc->GetObjectShell()->GetModel()); OUString aTempFileURL; bool bSuccess = ::avmedia::EmbedMedia(xModel, aFile, aTempFileURL); if (bSuccess && !aTempFileURL.isEmpty()) { aFile = aTempFileURL; // Use the embedded URL } } // Continue with aFile as before... ``` This mirrors exactly how `sd/source/ui/view/sdview4.cxx` handles media insertion for "Insert → Audio or Video". ### Fix 2: Expose Link State from Dialog **File**: `sd/source/ui/dlg/filedlg.cxx` Ensure `SdOpenSoundFileDialog` properly exposes the Link checkbox state: ```cpp // The dialog should have: bool SdOpenSoundFileDialog::IsInsertAsLink() const { // Return the state of the SFXWB_INSERT_AS_LINK / checkbox // If checkbox is checked, return true (link mode) // If unchecked, return false (embed mode) return mpImpl->IsInsertAsLink(); } ``` The dialog template (`TEMPLATE_LONG_FILEDLG_IMPL`) should default "Link" to **unchecked** (embed by default), matching user expectations and PowerPoint behavior. ### Fix 3: Fix PPTX Import for Transition Sounds **Files**: `oox/source/ppt/slidetransitioncontext.cxx` and related When importing PPTX files, the `<p:snd>` element within `<mc:AlternateContent>` / `<p:transition>` needs to: 1. Resolve the `r:embed` relationship to the actual media file in the PPTX package 2. Import the media file into the LibreOffice document package 3. Set the transition sound URL to the internal package URL Look at how `<p:audio>` elements are handled in animation import (`oox/source/ppt/animationtypes.cxx`) and replicate that pattern for transition sounds. --- ## Files to Modify | File | Purpose | |------|---------| | `sd/source/ui/dlg/filedlg.cxx` | Sound file dialog — ensure Link checkbox works and defaults to unchecked | | `sd/source/ui/animations/SlideTransitionPane.cxx` | Call `EmbedMedia()` after file selection when not linking | | `sd/source/ui/view/sdview4.cxx` | **Reference implementation** — shows correct `EmbedMedia` usage | | `avmedia/source/viewer/mediawindow.cxx` | `EmbedMedia()` function — the embedding mechanism | | `oox/source/ppt/slidetransitioncontext.cxx` | PPTX import — resolve embedded transition sound references | | `sd/source/filter/xml/sdxmlwrp.cxx` | ODP export — verify transition sound URL handling | --- ## How to Verify the Fix ### Test Case 1: ODP Embedding 1. Create new Impress presentation, add 2 slides 2. Set slide transition → Sound → "Other sound..." → select an MP3 file with "Link" **unchecked** 3. Save as ODP 4. Move ODP to different folder (without the MP3) 5. Open ODP → transition should play the sound 6. Unzip ODP → verify `Media/` directory contains the MP3 ### Test Case 2: PPTX Roundtrip 1. Same as above but save as PPTX 2. Open on a different computer in Impress → sound should play 3. Test with WAV, MP3, and OGG formats ### Test Case 3: Cross-Application Compatibility 1. Create presentation with embedded transition sound in PowerPoint 2. Open in Impress → sound should be recognized and play --- ## Priority Assessment This should be classified as **Major** (not just Normal) because: - It has been open for **12+ years** - It has **4 confirmed duplicates** and affects a core use case - It makes Impress presentations **non-portable** — a fundamental expectation for presentation software - The "Insert → Audio or Video" path works correctly, proving the infrastructure exists - Users are forced to use other software (PowerPoint, FreeOffice) as workaround - Multiple users confirmed it blocks use of Impress for educational and professional purposes --- ## Quick Workaround for Users Until the fix is merged, users can work around this by: 1. **Insert the audio as an object** using "Insert → Audio or Video" (this embeds correctly) 2. Set the audio to play automatically on slide show 3. Alternatively, save as PPTX with WAV files only (WAV embedding works in PPTX export, though roundtrip is broken)