Author Archives: Petteri Kautonen

ScriptNotepad released

Hi,

I’m proud to release the initial version of a software I’m been working (hobby) for about a year called ScriptNotepad.

The software is based on the Scintilla project via the ScintillaNET wrapper library.

The idea is that you can write scripts for text manipulation in C# programming language and run them within the software. There is still a lot to do but I can get no input on feature requests, bugs or otherwise, if the software isn’t available with the public. The software has also spawned many libraries released as NuGet packages and in the GitHub, because I didn’t want to include all the code in a same project.

The main window

Do have fun playing with it 😅 – PS. I have used this on my work place for three weeks now 😏

ScriptNotepad

A tabbed notepad software with scripting support (C#; for manipulating a file contents).

Features

  • Support for multiple programming/scripting/setting and markup languages for code folding and highlighting (C#, C++, CSS, Pascal, PHP, Python, INI, HTML, Java, JavaScript, Batch, NSIS, SQL, Windows PowerShell, XML, YAML, InnoSetup).
  • Support for spell checking via Hunspell dictionaries using a pure C# implementation of the Hunspell, WeCantSpell: Hunspell.
  • New files are automatically saved into a SQLite database; this software doesn’t ask questions while closing it or if the session is ending.
  • Pure C#.
  • Open source, well documented source code; fork, make PR or develop further on your own.
  • Localizable directly from the menu for your own language. (new languages are welcome!).
  • Highly customizable.
  • Possibility to export a code file to HTML maintaining the lexer style.
  • Small size (installer: ~4 MB).
  • Session support; you may create a session for etc. one for common files, one for SQL files and so on.
  • Support for plug-ins as .NET assemblies. A sample plugin is included (a modified ROT-13 algorithm – surprise!).
  • A difference (diff) viewer both side-by-side and as a list based on the DiffPlex library.
  • Currently supported locales: en-US, fi-FI.
  • Based on the great library called ScintillaNET.
  • Support for URL detection within the text.
  • License: MIT.

Requirements

  • Microsoft® Windows® supporting .NET Framework v.4.7.

Other

  • Resemblance with the famous Notepad++ ?: This software has no intention to compete with the Notepad++ software while the outlook of the software is somewhat familiar with it. The main differences are the script support, the managed programming language; C# and the session support.

Changes

  • Current version v.1.0.2.2 (04.05.2020)
  • A lot since the start (something last year x 2..)

Screenshots

The main window containing text while editing this article

The script runner window with a template script

The settings dialog

Download

Thanks to

  • A lot more, TODO::Add!

Difficulties with code signing certificates

Hi,

For the frustration of trying to get a code signing certificate from the Comodo company I have something to say 😠

I decided to try and find a reasonable priced code signing certificate authorities (“low budget for a not a wealthy person”) and the solution from there (Comodo) seemed reasonable enough.

The rant begins 💦

  • There is no mention that I’ll have to provide a copy of my passport or driver’s license or such 👎
  • There is no mention that I should fill this ridiculous form with a notary or a lawyer 🥱
  • This all was done to prevent the “illusion” that the downloaded installer software, i.e. was somehow insecure😇
  • In Finland we do strong digital authentication via the bank’s system of which customer you are – so do I really have to go back to the 80’s again 😆

So now and not very soon to be fixed you are going to cope with this:

And the second one:

Well – I’m not spreading any viruses here – but I can’t / won’t do this ridiculous notarizing with extra costs (💸)!

PS. The home “infrastructure” is behind a double firewall and all the PC‘s are protected with an antivirus software depending of the OS they using and all computers are behind a NAT.

If any of you have an idea of an easier code signing certificate, please do not hesitate to contact me via email 📧

Have fun again Br. not a certified individual 😅

Released few helper libraries for the ScintillaNET

Hi,

I released these libraries for the ScintillaNET to help with lexer definitions and visualization.

The first:

VPKSoft.ScintillaLexers

A class library containing lexer definitions for the ScintillaNET.

The second:

VPKSoft.ScintillaTabbedTextControl

A tabbed control for ScintillaNET to display multiple documents.

Have fun and happy new year and here is the link to the misc libraries section!

amp# change log

amp# change log

  • v.1.1.1.0 (17.05.2020)
  • The software now prevents total system sleep / hibernation when the music is playing.
  • Added possibility to load files smaller than specified size to be played from the memory.
  • v.1.1.0.3 (23.07.2019)
  • Fixed .M4A file being discarded from playing.
  • v.1.1.0.2 (21.07.2019)
  • Fixed the shell context menu functionality.
  • Added a save temporary album as possibility.
  • Added a possibility to delete an album.
  • v.1.1.0.1 (19.07.2019)
  • Added a possibility to copy a playlist into a single directory.
  • v.1.1.0.0 (08.11.2018)
  • Fixed quiet hours again!
  • Added song naming configuration.
  • Added possibility to create a queue while listening a another queue or just listening.
  • Added possibility to scramble / random a loaded queue.
  • The queue when set to show queue will now stay visible.
  • Added possibility to rate multiple songs.
  • Added possibility to set volume to multiple songs.
  • Updated the remote control API (WCF) maintaining the backwards compatibility.
  • Fixed a settings reset bug.
  • Updated static libraries to be NuGet packages.
  • Added mini-help.
  • Fixed bug in the ScriptRunner.cs file (Public Domain).
  • Added language selection to the settings.
  • Added F9 key to show all the songs in the collection.
  • The database will “fix” it self on the first start (a lengthy operation run only once) with the new version (missing tag value) in the SONG database table.
  • No llama’s were hurt (by VPKSoft) during the coding process!
  • Added localization possibility to the start menu.
  • Fixed queue editor crashing the program when deleting single songs from a saved queue.
  • Fixed queue editor crashing the program with an invalid SQL sentence.
  • Fixed queue editor to re-index songs correctly in the queue when deleting items.
  • Added optional modified (biased) randomization.
  • Fixed the main window text scaling on a higher DPI setting.
  • Fixed text scaling on a higher DPI setting for few dialogs.
  • Fixed return and escape button working in the new album dialog.
  • Fixed dialog miss-placing on the screen.
  • Updated NuGet dependencies to NAudio.* packages.
  • Added possibility to delete local application data for the software on un-install.
  • v.1.0.2.4 (15.10.2018)
  • Updated the NuGet references
  • Updated the WCF remote control API
  • Mode the source code available to the GitHub
  • v.1.0.2.3 (05.08.2018)
  • Added new features for the WCF remote support
  • Made package references to NuGet package references
  • v.1.0.2.0 (04.02.2018)
  • Added M4A support
  • Added AAC support
  • Added AIFF support
  • Added WCF remote support
  • Added latency setting
  • Added Poslib
  • Fixed quiet hours
  • Queue snapshots can now exported/imported to/from a file
  • Added possibilty to append a queue snapshot to existing queue
  • v.1.0.1.1 (22.10.2017)
  • A complete “engine” update: All the packages used by the software for playback where switched to nuget packages
  • The processor architecture is no longer limited by the FlacDLL as LibFlac does no longer need an inter-op DLL, so it is 64-bit on a 64 bit computer and 32-bit on a 32-bit computer (Any CPU).
  • Added a possibility to save multiple amounts of named queue snapshots with a modification capability
  • Added a timer to enable a “quite hours” feature so your neighbors don’t get angry, if you forget to stop the playback at an inconvenient time
  • Reorganized some menus to suit their categories
  • 1.0.0.1 (25.01.2016)
  • Fixed scaling bug after main window resize
  • Fixed saved statistics, etc.. were not loaded after a drag & drop operation for known files
  • Added an album/song image if any to a separate window

amp# update v.1.1.0.0

Hi,

I released an update to the amp# software to version v.1.1.0.0 🙂

  • Fixed quiet hours again!
  • Added song naming configuration.
  • Added possibility to create a queue while listening a another queue or just listening.
  • Added possibility to scramble / random a loaded queue.
  • The queue when set to show queue will now stay visible.
  • Added possibility to rate multiple songs.
  • Added possibility to set volume to multiple songs.
  • Updated the remote control API (WCF) maintaining the backwards compatibility.
  • Fixed a settings reset bug.
  • Updated static libraries to be NuGet packages.
  • Added mini-help.
  • Fixed bug in the ScriptRunner.cs file (Public Domain).
  • Added language selection to the settings.
  • Added F9 key to show all the songs in the collection.
  • The database will “fix” it self on the first start (a lengthy operation run only once) with the new version (missing tag value) in the SONG database table.
  • No llama’s were hurt (by VPKSoft) during the coding process!
  • Added localization possibility to the start menu.
  • Fixed queue editor crashing the program when deleting single songs from a saved queue.
  • Fixed queue editor crashing the program with an invalid SQL sentence.
  • Fixed queue editor to re-index songs correctly in the queue when deleting items.
  • Added optional modified (biased) randomization.
  • Fixed the main window text scaling on a higher DPI setting.
  • Fixed text scaling on a higher DPI setting for few dialogs.
  • Fixed return and escape button working in the new album dialog.
  • Fixed dialog miss-placing on the screen.
  • Updated NuGet dependencies to NAudio.* packages.
  • Added possibility to delete local application data for the software on un-install.

 Have fun again 🎵

Utility libraries

Utility libraries

 

VPKSoft.RandomizationUtils

Some randomization utilities which includes biased randomization, weighted randomization and some extensions for double randomization for the Random class.

Features

  • Biased randomization randoms to either lower or higher end of the given randomization minimum and maximum values.
  • Weighted randomization randomizes items with a given arbitrary weight number.
  • Extension methods to the Random class mostly extends the floating-point randomization to match the integer randomization overload method counterparts.

Download

VPKSoft.ScintillaLexers

A class library containing lexer definitions for the ScintillaNET.

Features

  • Easy to use class library to set a lexer definition for the ScintillaNET control.
  • Containing lexer definitions for C++, C#, SQL, XML, NSIS, Batch, Pascal, HTML, PHP and INI programming “languages”/languages.

Download

VPKSoft.ScintillaTabbedTextControl

A tabbed control for ScintillaNET to display multiple documents.

Features

  • A simple Windows Forms control capable of displaying multiple tabbed documents. 

Screenshot

Download

VPKSoft.ScintillaSpellCheck

A spell checking library for the ScintillaNET.

Features

  • Supports UTF-8 Hunspell dictionaries for spell checking using pure C# library called WeCantSpell: Hunspell for spell checking a text file
  • Support for user dictionaries and user ignore word lists

Screenshot

Download

VPKSoft.SearchText

A simple plain text search and replace library.

Features

  • Searches and replaces a text with regular expressions, plain text, extended search and a custom number-string search. 

Screenshot in use with the ScriptNotepad software

Download

ScintillaNetPrinting 

Add print functionality to ScintillaNET.

Features

  • This is just a fork from poloab‘s printing library for the ScintillaNET; I have issued a PR for the repository to be updated.
  • My additions are that the library will use the current thread locale and use the application icon with the dialog(s).

Screenshot with the ScriptNotepad software

Download

VPKSoft.VersionCheck

An utility for an application to check if a newer version of the application exists. You can also maintain your own releases within the web site.

The VersionMaintenance software

Download

VPKSoft.ScintillaUrlDetect

A library to detect URLs with the ScintillaNET control.

The TestApp

Download

VPKSoft.WinFormsRtfPrint

A library to print RichTextBox contents from a Windows Forms application.

Download

VPKSoft.SpellCheckUtility and VPKSoft.SpellCheckUtility.WinForms

A spell checking interface for both real-time and postponed spell checking using the fantastic WeCantSpell: Hunspell class library.

  • Based on an interface to visualize the spell checking.
  • Support for user ignore lists and dictionaries.

Screenshot

Download

VPKSoft.UNCUtil

VPKSoft.UNCUtil

An (library) utility to access Windows (SMB/CIFS) shares with credentials.

Features

Requirements

  • A Microsoft® Windows® supporting .NET Framework v.4.5
  • LGPL v3 compatible application

Changes

 Usage

private void Test()
{
	try // an error might occur..
	{
		// IDisposable so using..
		using (UNCLogin share1 = new UNCLogin(@"\\server1\share1",
			new System.Net.NetworkCredential("username1", "password1", "domain1")))
		{
			// IDisposable so using..
			using (UNCLogin share2 =
				new UNCLogin(@"\\server2\share2", new System.Net.NetworkCredential("username2", "password2", "domain2")))
			{
				// a normal file operation with the given credentials.
				File.Copy(@"\\server1\share1\somefile.dat", @"\\server2\share2\somefile.dat");
			}
		}
	}
	catch (Exception ex)
	{
		// show the error message..
		MessageBox.Show(ex.Message);
	}
}

Download