Personalizing Open Source Software and OpenMPT in particular

Started by Newbie, July 15, 2021, 21:50:46

Previous topic - Next topic

Newbie

Hello, can someone, perhaps Saga Musix, please tell me where the following is in the source code for OpenMPT, sorry for starting another topic, when I posted this it didn't cross my mind to post it as a reply in the old topic.


In the About screen under the tab called "OpenMPT":

OpenMPT - Open ModPlug Tracker

Version: 1.29.11.00 64 bit UNICODE
Source Code: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.29@15407 clean
Build Date: 2021-07-04 18:12:09
Compiler: Microsoft Compiler 19.29.30037
Architecture: amd64
Required Windows Kernel Level: Windows Vista
Required Windows API Level: Windows 7
Required CPU features: x86-64
Optional CPU features used: x86-64 sse sse2 sse3 ssse3 sse4.1 sse4.2 avx avx2

System Architecture: amd64
CPU: GenuineIntel, Family 6, Model 142, Stepping 10
CPU Name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Available CPU features: x86-64 sse sse2 sse3 ssse3 sse4.1 sse4.2 avx avx2
Operating System: Windows 10 (Version 10.0 (Build 19043))

OpenMPT Install Path (portable): C:\Users\dmagi\Downloads\OpenMPT-1.29.11.00-portable-x64\OpenMPT-1.29.11.00\
OpenMPT Executable Path (portable): C:\Users\dmagi\Downloads\OpenMPT-1.29.11.00-portable-x64\OpenMPT-1.29.11.00\
Settings (portable): C:\Users\dmagi\Downloads\OpenMPT-1.29.11.00-portable-x64\OpenMPT-1.29.11.00\mptrack.ini


Under the tab called "Components":

Loaded Components:
ASIO: ok (builtin)
DirectSound: ok (builtin)
MediaFoundation: ok (system)
PortAudio: ok (builtin)
RtAudio: ok (builtin)
WaveOut: ok (builtin)

Unloaded Components:
MPG123: not loaded
PluginBridge-amd64: not loaded
PluginBridge-x86: not loaded
WineWrapper: missing (bundled)


Under the tab called "Credits":

OpenMPT / ModPlug Tracker

Copyright © 2004-2021 Contributors
Copyright © 1997-2003 Olivier Lapicque

Contributors:
Johannes Schultz (2008-2021)
Jörn Heusipp (2012-2021)
Ahti Leppänen (2005-2011)
Robin Fernandes (2004-2007)
Sergiy Pylypenko (2007)
Eric Chavanon (2004-2005)
Trevor Nunes (2004)
Olivier Lapicque (1997-2003)

Additional patch submitters:
coda (https://coda.s3m.us/)
João Baptista de Paula e Silva (https://joaobapt.com/)
kode54 (https://kode54.net/)
Revenant (https://revenant1.net/)
xaimus (http://xaimus.com/)

Thanks to:

Konstanty for the XMMS-ModPlug resampling implementation
http://modplug-xmms.sourceforge.net/

Stephan M. Bernsee for pitch shifting source code
http://www.dspdimension.com/

Aleksey Vaneev of Voxengo for r8brain sample rate converter
https://github.com/avaneev/r8brain-free-src

Olli Parviainen for SoundTouch Library (time stretching)
https://www.surina.net/soundtouch/

Hermann Seib for his example VST Host implementation
http://www.hermannseib.com/english/vsthost.htm

Benjamin "BeRo" Rosseaux for his independent VST header
https://blog.rosseaux.net/

Storlek for all the IT compatibility hints and testcases
as well as the IMF, MDL, OKT and ULT loaders
http://schismtracker.org/

Sergei "x0r" Kolzun for various hints on Scream Tracker 2 compatibility
https://github.com/viiri/st2play

Laurent Clévy for unofficial MO3 documentation and decompression code
https://github.com/lclevy/unmo3

Ben "GreaseMonkey" Russell for IT sample compression code
https://github.com/iamgreaser/it2everything/

Antti S. Lankila for Amiga resampler implementation
https://bel.fi/alankila/modguide/interpolate.txt

Shayde / Reality Productions for Opal OPL3 emulator
https://www.3eality.com/

Ryuhei Mori for TinyFFT
https://github.com/ryuhei-mori/tinyfft

Jean-loup Gailly and Mark Adler for zlib
https://zlib.net/

Simon Howard for lhasa
https://fragglet.github.io/lhasa/

Alexander L. Roshal for UnRAR
https://rarlab.com/

PortAudio contributors
http://www.portaudio.com/

Gary P. Scavone, McGill University
https://www.music.mcgill.ca/~gary/rtaudio/

Josh Coalson / Xiph.Org Foundation for libFLAC
https://xiph.org/flac/

The mpg123 project for libmpg123
https://mpg123.de/

Xiph.Org Foundation for libogg
https://xiph.org/ogg/

Xiph.Org Foundation for libvorbis
https://xiph.org/vorbis/

Xiph.Org, Skype Limited, Octasic, Jean-Marc Valin, Timothy B. Terriberry,
CSIRO, Gregory Maxwell, Mark Borgerding, Erik de Castro Lopo,
Xiph.Org Foundation, Microsoft Corporation, Broadcom Corporation for libopus
https://opus-codec.org/

Xiph.Org Foundation and contributors for libopusfile
https://opus-codec.org/

Xiph.Org Foundation, Jean-Marc Valin and contributors for libopusenc
https://git.xiph.org/?p=libopusenc.git;a=summary

The LAME project for LAME
https://lame.sourceforge.io/

Niels Lohmann et al. for nlohmann-json
https://github.com/nlohmann/json

Lennart Poettering and David Henningsson for RealtimeKit
http://git.0pointer.net/rtkit.git/

Gary P. Scavone for RtMidi
https://www.music.mcgill.ca/~gary/rtmidi/

Alexander Uckun for decimal input field
https://www.codeproject.com/Articles/21257/_

Úlfur Kolka for application icon, splash and about screen
https://www.behance.net/ulfurkolka

Nobuyuki for file icon
https://twitter.com/nobuyukinyuu

Daniel Collin (emoon/TBL) for providing test infrastructure
https://twitter.com/daniel_collin

The people at ModPlug forums for crucial contribution
in the form of ideas, testing and support;
thanks particularly to:
33, 8bitbubsy, Anboi, BooT-SectoR-ViruZ, Bvanoudtshoorn
christofori, cubaxd, Diamond, Ganja, Georg, Goor00,
Harbinger, jmkz, KrazyKatz, LPChip, Nofold, Rakib, Sam Zen
Skaven, Skilletaudio, Snu, Squirrel Havoc, Teimoso, Waxhead

VST PlugIn Technology by Steinberg Media Technologies GmbH

ASIO Technology by Steinberg Media Technologies GmbH

Under the tab called "License"

Copyright (c) 2004-2021, OpenMPT contributors
Copyright (c) 1997-2003, Olivier Lapicque
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of the OpenMPT project nor the
      names of its contributors may be used to endorse or promote products
      derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Under the tab called "Resources":

Website:
https://openmpt.org/

Forum:
https://forum.openmpt.org/

Bug Tracker:
https://bugs.openmpt.org/

Updates:
https://openmpt.org/download

and on the left side of the about screen beside the image there is the following:

OpenMPT amd64 (64 bit)
Version 1.29.11.00

https://openmpt.org/



So the reason I want to know this info is because I am compiling a personalized edition of OpenMPT that I want to call "Clef Tracker" or something like that and I will give it new about screen graphics and a new splash screen.

So this is how I want it to look in the about screen:

In the About screen under the tab called "OpenMPT":

Clef Tracker

Version: 1.29.11.00 64 bit UNICODE
Source Code: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.29@15407 clean
Build Date: 2021-07-04 18:12:09
Compiler: Microsoft Compiler 19.29.30037
Architecture: amd64
Required Windows Kernel Level: Windows Vista
Required Windows API Level: Windows 7
Required CPU features: x86-64
Optional CPU features used: x86-64 sse sse2 sse3 ssse3 sse4.1 sse4.2 avx avx2

System Architecture: amd64
CPU: GenuineIntel, Family 6, Model 142, Stepping 10
CPU Name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Available CPU features: x86-64 sse sse2 sse3 ssse3 sse4.1 sse4.2 avx avx2
Operating System: Windows 10 (Version 10.0 (Build 19043))

OpenMPT Install Path (portable): C:\Users\dmagi\Downloads\OpenMPT-1.29.11.00-portable-x64\OpenMPT-1.29.11.00\
OpenMPT Executable Path (portable): C:\Users\dmagi\Downloads\OpenMPT-1.29.11.00-portable-x64\OpenMPT-1.29.11.00\
Settings (portable): C:\Users\dmagi\Downloads\OpenMPT-1.29.11.00-portable-x64\OpenMPT-1.29.11.00\mptrack.ini


Under the tab called "Credits":

Clef Tracker / OpenMPT / ModPlug Tracker

Copyright © 2021 Soundman
Copyright © 2004-2021 Contributors
Copyright © 1997-2003 Olivier Lapicque

Contributors:
Johannes Schultz (2008-2021)
Jörn Heusipp (2012-2021)
Ahti Leppänen (2005-2011)
Robin Fernandes (2004-2007)
Sergiy Pylypenko (2007)
Eric Chavanon (2004-2005)
Trevor Nunes (2004)
Olivier Lapicque (1997-2003)

Additional patch submitters:
coda (https://coda.s3m.us/)
João Baptista de Paula e Silva (https://joaobapt.com/)
kode54 (https://kode54.net/)
Revenant (https://revenant1.net/)
xaimus (http://xaimus.com/)

Thanks to:

Konstanty for the XMMS-ModPlug resampling implementation
http://modplug-xmms.sourceforge.net/

Stephan M. Bernsee for pitch shifting source code
http://www.dspdimension.com/

Aleksey Vaneev of Voxengo for r8brain sample rate converter
https://github.com/avaneev/r8brain-free-src

Olli Parviainen for SoundTouch Library (time stretching)
https://www.surina.net/soundtouch/

Hermann Seib for his example VST Host implementation
http://www.hermannseib.com/english/vsthost.htm

Benjamin "BeRo" Rosseaux for his independent VST header
https://blog.rosseaux.net/

Storlek for all the IT compatibility hints and testcases
as well as the IMF, MDL, OKT and ULT loaders
http://schismtracker.org/

Sergei "x0r" Kolzun for various hints on Scream Tracker 2 compatibility
https://github.com/viiri/st2play

Laurent Clévy for unofficial MO3 documentation and decompression code
https://github.com/lclevy/unmo3

Ben "GreaseMonkey" Russell for IT sample compression code
https://github.com/iamgreaser/it2everything/

Antti S. Lankila for Amiga resampler implementation
https://bel.fi/alankila/modguide/interpolate.txt

Shayde / Reality Productions for Opal OPL3 emulator
https://www.3eality.com/

Ryuhei Mori for TinyFFT
https://github.com/ryuhei-mori/tinyfft

Jean-loup Gailly and Mark Adler for zlib
https://zlib.net/

Simon Howard for lhasa
https://fragglet.github.io/lhasa/

Alexander L. Roshal for UnRAR
https://rarlab.com/

PortAudio contributors
http://www.portaudio.com/

Gary P. Scavone, McGill University
https://www.music.mcgill.ca/~gary/rtaudio/

Josh Coalson / Xiph.Org Foundation for libFLAC
https://xiph.org/flac/

The mpg123 project for libmpg123
https://mpg123.de/

Xiph.Org Foundation for libogg
https://xiph.org/ogg/

Xiph.Org Foundation for libvorbis
https://xiph.org/vorbis/

Xiph.Org, Skype Limited, Octasic, Jean-Marc Valin, Timothy B. Terriberry,
CSIRO, Gregory Maxwell, Mark Borgerding, Erik de Castro Lopo,
Xiph.Org Foundation, Microsoft Corporation, Broadcom Corporation for libopus
https://opus-codec.org/

Xiph.Org Foundation and contributors for libopusfile
https://opus-codec.org/

Xiph.Org Foundation, Jean-Marc Valin and contributors for libopusenc
https://git.xiph.org/?p=libopusenc.git;a=summary

The LAME project for LAME
https://lame.sourceforge.io/

Niels Lohmann et al. for nlohmann-json
https://github.com/nlohmann/json

Lennart Poettering and David Henningsson for RealtimeKit
http://git.0pointer.net/rtkit.git/

Gary P. Scavone for RtMidi
https://www.music.mcgill.ca/~gary/rtmidi/

Alexander Uckun for decimal input field
https://www.codeproject.com/Articles/21257/_

Úlfur Kolka for application icon, splash and about screen
https://www.behance.net/ulfurkolka

Nobuyuki for file icon
https://twitter.com/nobuyukinyuu

Daniel Collin (emoon/TBL) for providing test infrastructure
https://twitter.com/daniel_collin

The people at ModPlug forums for crucial contribution
in the form of ideas, testing and support;
thanks particularly to:
33, 8bitbubsy, Anboi, BooT-SectoR-ViruZ, Bvanoudtshoorn
christofori, cubaxd, Diamond, Ganja, Georg, Goor00,
Harbinger, jmkz, KrazyKatz, LPChip, Nofold, Rakib, Sam Zen
Skaven, Skilletaudio, Snu, Squirrel Havoc, Teimoso, Waxhead

VST PlugIn Technology by Steinberg Media Technologies GmbH

ASIO Technology by Steinberg Media Technologies GmbH


Under the tab called "License"

Copyright (c) 2021, Soundman
Copyright (c) 2004-2021, OpenMPT contributors
Copyright (c) 1997-2003, Olivier Lapicque
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of the OpenMPT project nor the
      names of its contributors may be used to endorse or promote products
      derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


I would like to do this because I want to create my own personal fork with my own personalizations. So why do this? Why not do it, it is a learning experience and it is fun.

I installed Visual C++ 2019 and compiled OpenMPT as is and came to the realization that I can personalize any Open Source software, so why not attempt to do it, I could do the same thing with LMMS, Musescore, Audacity, Gimp, Inkscape, Fontforge and many others. And maybe I could learn to modify other things as well and also add features..... now I'm dreaming because although I learned Turbo Pascal in High School, I was not very good in it, but a person can dream.

I realize that none of these things are necessary for a personal fork but I want to do it anyway.

Saga Musix

As I mentioned before, searching for the text you want to customize is always the first step. There's really no point in telling you where to find it because you don't learn anything from it. So here's a hint: Part of the license text that you want to change is for example "Copyright (c) 2004-2021, OpenMPT Project Developers". Open the source code in Visual Studio and do a global Find & Replace action by hitting Ctrl+Shift+F and pasting that text there. You will then find the text and can modify it. The text itself is return from a function called "GetLicenseString". You can again apply Find & Replace on that function name to find all the places in the code where the function is called, which helps finding the code where the about dialog is created.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Newbie

Thank you Saga for that hint, by the way are you from Germany, I'm asking because I'm hearing of massive catastrophic flooding in Germany and Belgum, if so how is the situation where you are?

Saga Musix

It's fine in this part of Germany, thanks for asking.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

vananaBanana

Hi,

What kind of features are you implementing with your fork?

Cheers,

Maxim