Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-test-installer-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
with:
name: saymore-test-results
if-no-files-found: warn
path: output/${{ env.Configuration }}/TestResults.xml
path: output/x64/${{ env.Configuration }}/net48/TestResults.xml

- name: Copy CHM file into DistFiles
run: copy "docs\SayMore.chm" "DistFiles\SayMore.chm"
Expand Down
6 changes: 6 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion> <!-- latest stable, not preview -->
<EnablePreviewFeatures>false</EnablePreviewFeatures>
</PropertyGroup>
</Project>
19 changes: 19 additions & 0 deletions DistFiles/.guidsForInstaller.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,23 @@
<File Id="ProgramDir.Palaso.tp.xlf" Guid="41410018-4111-4e40-bd04-167286cac3a1" />
<File Id="ProgramDir.Palaso.ur.xlf" Guid="a44696ec-0097-42a8-ac3f-2f8b78d47504" />
<File Id="ProgramDir.Palaso.vi.xlf" Guid="ba610d1a-709c-4e27-814b-bbb5cd93c62a" />
<File Id="ProgramDir.Palaso.am.xlf" Guid="d77316ca-03ef-4a9c-8149-58e43884b34e" />
<File Id="ProgramDir.Palaso.en.xlf" Guid="9fa8a730-1091-41e7-a451-6471e96fcbff" />
<File Id="ProgramDir.Palaso.fuc.xlf" Guid="4857600d-a33a-44a7-93d4-88ba38221899" />
<File Id="ProgramDir.Palaso.ha.xlf" Guid="d0ab2f91-aaff-42bb-97db-7ba524cf6764" />
<File Id="ProgramDir.Palaso.ksw.xlf" Guid="19f0c1d8-5d7b-4381-8ea3-47ba4ebd49d1" />
<File Id="ProgramDir.Palaso.kw.xlf" Guid="49537601-8582-4091-a359-4706e53db821" />
<File Id="ProgramDir.Palaso.ky.xlf" Guid="278f0566-f59d-468e-97fc-1bb360708b76" />
<File Id="ProgramDir.Palaso.lo.xlf" Guid="fb96674f-7008-4397-886e-555d236e37a8" />
<File Id="ProgramDir.Palaso.mam.xlf" Guid="151fe135-cc18-465e-a57d-dc62f3299b45" />
<File Id="ProgramDir.Palaso.nl.xlf" Guid="7dbf9d9e-0ebc-47b9-a384-2e15b20c6884" />
<File Id="ProgramDir.Palaso.pbu.xlf" Guid="f2c69f47-fab4-4347-aafc-a22b95c7d95c" />
<File Id="ProgramDir.Palaso.prs.xlf" Guid="0db58d27-d93e-449d-960f-44233abb011b" />
<File Id="ProgramDir.Palaso.qaa.xlf" Guid="fb352192-ed50-4833-9385-480359e33135" />
<File Id="ProgramDir.Palaso.quc.xlf" Guid="86089378-a5a1-4ccd-85c3-b4b341891ddf" />
<File Id="ProgramDir.Palaso.tg.xlf" Guid="705feebb-4db1-4746-97da-60d086299275" />
<File Id="ProgramDir.Palaso.tl.xlf" Guid="986fff40-57fe-40f4-9865-cca11b905f87" />
<File Id="ProgramDir.Palaso.tpi.xlf" Guid="b1d6419e-d656-4c67-aaa4-b7cea9efcc2a" />
<File Id="ProgramDir.Palaso.uz.xlf" Guid="f440f103-a94c-4778-bdb5-0b2b577a830a" />
<File Id="ProgramDir.Palaso.yua.xlf" Guid="6ca95719-b4f8-4f55-8581-c59eaf73c3d7" />
</InstallerMetadata>
11 changes: 5 additions & 6 deletions DistFiles/aboutBox.htm
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ <h1>Thanks</h1>

<p>Payap University Linguistics Institute, Chiang Mai, Thailand</p>
<p>Steven Bird (University of Melbourne)</p>
<p>Tim Gaved, Cambell Prince, Michael Cochran, Gary Simons, John Wickberg, Will Reiman (SIL International)</p>
<p>Sarah Moeller (Graduate Institute of Applied Linguistics)</p>
<p>Sarah Moeller, Tim Gaved, Cambell Prince, Michael Cochran, Gary Simons, John Wickberg, Will Reiman (SIL Global)</p>
<p>JetBrains for <a href="https://www.jetbrains.com/resharper/">Resharper</a>, which helps keep our C# code clean and agile, and <a href="https://www.jetbrains.com/teamcity/">TeamCity</a>, which we use for continuous integration and builds.</p>
<p>Microsoft for <a href="https://github.com/">Github</a>, the repository where our open-source code is hosted for free, and also for free use of <a href="https://visualstudio.microsoft.com/vs/community/">Visual Studio Community</a>, our preferred IDE.</p>
<p>Atlassian, for a free open-source license for <a href="https://www.atlassian.com/software/jira/overview">Jira</a>, where we keep bug reports.</p>
Expand All @@ -50,11 +49,11 @@ <h1>Open Source Components/Libraries</h1>
<p><a href="https://ffmpeg.org/">FFprobe</a> © 2007-2022 The FFmpeg Developers (<a href="https://ffmpeg.org/legal.html">GPL</a>)</p>
<p>This product uses <a href="https://mediaarea.net/en/MediaInfo">MediaInfo library</a>, Copyright (c) 2002-2023 MediaArea.net SARL. (<a href="https://mediaarea.net/en/MediaInfo/License">BSD-style license</a>)</p>
<p><a href="https://mplayerhq.hu/design7/info.html">MPlayer</a> © 2000-2022 MPlayer Team (<a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GPL</a>) (SayMore does not &quot;link&quot; to MediaPlayer)</p>
<p><a href="https://github.com/Moq/moq4/">Moq</a> Copyright (c) 2007. Clarius Consulting, Manas Technology Solutions (<a href="https://github.com/moq/moq4/blob/main/License.txt">license</a></p>
<p><a href="https://github.com/Moq/moq4/">Moq</a> Copyright © 2007. Clarius Consulting, Manas Technology Solutions (<a href="https://github.com/moq/moq4/blob/main/License.txt">license</a></p>
<p><a href="https://github.com/naudio/NAudio">NAudio</a> Mark Heath (Copyright unknown) (<a href="https://github.com/naudio/NAudio/blob/master/license.txt">MS-PL</a>)</p>
<p><a href="https://nunit.org/">NUnit</a> Copyright © 2019 Charlie Poole, Rob Prouse (https://www.nuget.org/packages/NUnit/3.12.0/license">Nunit License</a>)</p>
<p><a href="https://nunit.org/">NUnit</a> Copyright © 2023 Charlie Poole, Rob Prouse (https://www.nuget.org/packages/NUnit/3.14.0/license">Nunit License</a>)</p>
<p><a href="https://www.newtonsoft.com/json">Newtonsoft.Json</a> Copyright © 2008 James Newton-King (<a href="https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md">MIT</a>)</p>
<p><a href="https://github.com/sillsdev/libpalaso">Palaso Library</a> © <a href="https://www.sil.org/">SIL International</a> (<a href="https://sil.mit-license.org/">MIT</a>)</p>
<p><a href="https://github.com/sillsdev/l10nsharp">L10N Sharp</a> Localization library: © <a href="https://www.sil.org/">SIL International</a> (<a href="https://sil.mit-license.org/">MIT</a>) </p>
<p><a href="https://github.com/sillsdev/libpalaso">Palaso Library</a> © <a href="https://www.sil.org/">SIL Global</a> (<a href="https://sil.mit-license.org/">MIT</a>)</p>
<p><a href="https://github.com/sillsdev/l10nsharp">L10N Sharp</a> Localization library: © <a href="https://www.sil.org/">SIL Global</a> (<a href="https://sil.mit-license.org/">MIT</a>) </p>
</body>
</html>
2 changes: 2 additions & 0 deletions DistFiles/releaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
## _VERSION_ (_DATE_)
* SayMore is now a 64-bit application, so it will make better use of available memory and avoid out-of-memory errors.
* SayMore now targets .Net Framework 4.8, which is the latest version supported on Windows 7 through Windows 11. It will not run on Windows versions earlier than 7.

## 3.7.4 (30 July 2025)
* Small improvement in the logic to guess at the correct initial writing system for translations when exporting FLEx Interlinear files (flextext).
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SayMore
# SayMore

SayMore provides an intuitive and enjoyable way to manage language documentation tasks.

Expand All @@ -18,6 +18,10 @@ Please see [Tips for Testing Palaso Software](https://docs.google.com/document/d
1. Ensure you have Nuget
1. Building the solution should automatically pull down the nuget dependencies.

### Local Installer Build
The process of building a SayMore installer involves some build steps that are defined in build/SayMore.proj, so it must be built using MSBuild. This involves multiple steps, so the easiest way is to run build/TestInstallerBuild.bat. This batch file should be maintained to keep it in sync with any changes to the overall build process. Note that during the Installer build, a few source files are updated (stamped with the version number and/or date), so these should be reverted after a test build of the installer. Committing and pushing these changes will break the ability of the CI build to correctly set the version number!


### Bug Reports

Reports can be entered in https://jira.sil.org/projects/SP/issues. They can be entered there via email by sending to saymore_issues@sil.org.
Expand All @@ -32,4 +36,4 @@ To release a new version, just tag a commit on the main branch e.g. v3.7.5
This will trigger Github Actions to produce a Release with the signed installer attached

# Release TODO
Implement the "publish" process on TeamCity, which builds SayMore, makes and installer, rsyncs it to the distribution server, and writes out a little bit of html which the [SayMore download page](https://software.sil.org/saymore/download/) then displays to the user. It also creates a build artifact that enables the SayMore program to check to see whether a newer version is available.
Implement the "publish" process in GHA (currently working only on TeamCity), which builds SayMore, makes and installer, rsyncs it to the distribution server, and writes out a little bit of html which the [SayMore download page](https://software.sil.org/saymore/download/) then displays to the user. It also creates a build artifact that enables the SayMore program to check to see whether a newer version is available.
69 changes: 14 additions & 55 deletions SayMore.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36623.8
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SayMore", "src\SayMore\SayMore.csproj", "{A61F5E06-CACD-40FA-BBAD-8744212AF14E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SayMoreTests", "src\SayMoreTests\SayMoreTests.csproj", "{B534A7B9-FF0D-46C7-A845-C00845B223BC}"
Expand All @@ -14,60 +15,18 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{ABC132
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x86 = Debug|x86
DebugMono|Any CPU = DebugMono|Any CPU
DebugMono|Mixed Platforms = DebugMono|Mixed Platforms
DebugMono|x86 = DebugMono|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|x86 = Release|x86
ReleaseMono|Any CPU = ReleaseMono|Any CPU
ReleaseMono|Mixed Platforms = ReleaseMono|Mixed Platforms
ReleaseMono|x86 = ReleaseMono|x86
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Debug|x86.ActiveCfg = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.DebugMono|Any CPU.Build.0 = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.DebugMono|x86.ActiveCfg = Debug|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Release|Any CPU.Build.0 = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Release|x86.ActiveCfg = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Debug|x86.ActiveCfg = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.DebugMono|Any CPU.Build.0 = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.DebugMono|x86.ActiveCfg = Debug|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Release|Any CPU.Build.0 = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Release|x86.ActiveCfg = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Debug|x64.ActiveCfg = Debug|x64
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Debug|x64.Build.0 = Debug|x64
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Release|x64.ActiveCfg = Release|x64
{A61F5E06-CACD-40FA-BBAD-8744212AF14E}.Release|x64.Build.0 = Release|x64
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Debug|x64.ActiveCfg = Debug|x64
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Debug|x64.Build.0 = Debug|x64
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Release|x64.ActiveCfg = Release|x64
{B534A7B9-FF0D-46C7-A845-C00845B223BC}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
Loading