diff --git a/Source/OBS.h b/Source/OBS.h index c7535693..8a4c65a4 100644 --- a/Source/OBS.h +++ b/Source/OBS.h @@ -139,6 +139,7 @@ public: }; String ExpandRecordingFilename(String); +String GetExpandedRecordingDirectoryBase(String); //------------------------------------------------------------------- diff --git a/Source/OBSCapture.cpp b/Source/OBSCapture.cpp index 992b6c93..a1b6c75c 100644 --- a/Source/OBSCapture.cpp +++ b/Source/OBSCapture.cpp @@ -145,6 +145,27 @@ String ExpandRecordingFilename(String filename) return filename; } +String GetExpandedRecordingDirectoryBase(String path) +{ + String expanded = path; + do + { + expanded = ExpandRecordingFilename(path); + + if (expanded == path) + break; + + if (OSFileIsDirectory(expanded)) + break; + + path = GetPathDirectory(path); + } while (expanded != path); + + CreatePath(expanded); + + return expanded; +} + String GetOutputFilename(bool replayBuffer=false) { String path = OSGetDefaultVideoSavePath(replayBuffer ? L"\\Replay-$T.flv" : L"\\.flv");