I am looking for a skilled freelancer to modify an existing WXWidgets application. The specific modifications required are feature enhancements. I have a list of desired features that I would like to add, and my priority for the added features is ease of use, improved performance, and visual appeal.
Ideal skills and experience for the job include:
- Experience working with WXWidgets
- Proficiency in C++ programming language
- Strong understanding of software development principles and best practices
- Ability to work independently and efficiently
- Excellent communication skills to understand and implement my requirements accurately.
_____
Required: Runs on Lubuntu 16.04 and preferably requires no additional libraries beyond: libwxgtk3.0-dev libwxbase3.0-0* libwxbase3.0-dev libwxgtk3.0-0* wx3.0-headers build-essentials libgtk2.0-dev
Application includes both Porcupine and Rhino:
[login to view URL]
[login to view URL]
[login to view URL]
[login to view URL]
Project Tasks:
1) Combine Porcupine and Rhino to work in conjunction better than they currently are. They seem to be split based on tabs and it works fine but there is a bug I've been unable to resolve related to how I believe the intent frames are stored.
The actions fire as expected.
Then make a second request:
but don't say a value and in the rhino intent variables slots[] and value[] array is still populated with the value from the previous execution.
I'm able to clear this by stopping and starting using file menu start/stop but unsure if there is a cleaner way to handle this in code without stopping and starting the entire engine.
I believe it's the frames stored in variable PCM that isn't being overwritten as it's a double pointer? But even if i free(pcm) and allocate it again it still has the values.
2) Add ability to add extra parameters to the configuration file that will be loaded as global variables in the code? For example some values may change but would prefer to not recompile code.
[globals]
autostart = 1
variablename0 = 1
variablename1 = 5
3) Checkbox on interface that when checked will autostart the recording listening for hotword (similar to pressing file-start F5)
The setting can be stored in the [globals] configuration section or wherever is appropriate.
4) Audio is very important to hear in order to get some level of feedback as to the state of the hotword/intent listener. The purpose of this software is to give the end user a hands free experience while they look through a microscope performing delicate work. Currently the audio is being played with wxSound::Play() and this works on my development machines.
The production product the software runs on does have a line out port but would be more preferable to play out through a USB speaker since this is not a standard computer the user can access the line out jacks easily.
Add the ability to select a speaker output dropdown similar to the current mic dropdown. Play the audio through the selected speaker.
5) Using USB mic and possibly speakers this causes the device number to change depending on the USB port being used or if a USB-HUB is added. This causes the configuration file load to throw an error because the device number is no longer a valid device number in the array list.
The end user can define very specific mic/speakers to use and would like the ability to define a string such as "Lavalier" and have these automatically selected and use their device number if available. If no defined mic is found always select 0 as default to suppress error.