I changed print to compile in the dprint() function when the testing
flag is enabled. This allows tests to have the same output regardless
of debugging status.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
- Don't be verbose when removing files.
- Reverse diff order so output makes more sense.
- Only strip whitespace from the end of lines.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
- Inherit from fstream to gain access to << and >> operators.
- Make the file version accessable to the outside world.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
- Support OPEN_READ and OPEN_WRITE
- Update the design to accomidate for error checking
- Add lib/test.cpp containing basic functions that can be used for
testing
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
The class resolves the path to the ocarina directory based on the file
hint provided. NOTE: compile-debug.good and compile.good resolve paths
to my home directory. Other users will need to change the values for
the test to pass.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
I'm starting to implement file access. I've reread the design and
updated a few things to make it easier to test.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This will give some better stability to the design document, since
entries won't shift around based on python memory locations.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
The class is in charge of resetting fields at will, and will be able to
maintain everything easier than if I were to do it by hand.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
I was using a debug and a release environment for programs, that way
both versions of tests could be checked. Instead, it'll be simpler to
only use a single environment and then control debug information using
CONFIG_DEBUG.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
Each component has its own text file. I merge everything together with
simple dependency resolution so I can figure out implementation order
easier.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
I store release and debug options in a list so that env.Replace() can be
used to set, modify, and restore values.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This class will manage save files so paths don't need to be resolved in
multiple places. I'll also use it for reading and writing with version
information.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
I decided to put the library into a namespace to keep the code clean. I
also added an update algorithm and made minor naming changes.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
I renamed "tags" to "groups" to avoid confusion with ID3 tags. I also
thought out a better plan for eventually implementing user defined tags
so that I can build up to them with testing along the way. With any
luck, I won't overwhelm myself with features =).
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
Up until now I've just been coding whatever I feel like without thinking
about it too much. This time I'm actually going to come up with an
ocarina design and then implement it according to the document. The doc
can then act as a reference for how and why things are done for future
work.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
Right now it's just a toplevel window. I also added a script for
launching the new gui without needing to manually set the environment
variable.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
I only have one application so there is no point in having a way to
create multiple application directories.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
The plan is to port everything to gtkmm since using the C functions is
beginning to get annoying. Compile the new code using `scons newgui`
for now.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
It's a 2 line function that was used in only one place. Time to remove
it and simplify the surrounding code.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
I was keeping a vector of objects, and then pass pointers to these
objects around everywhere. HOWEVER, when vectors are resized they
allocate new memory and copy things over invalidating iterators and
pointers to the original objects. This can cause memory corruption
issues when I try to use a pointer to an object that no longer exists.
The simple solution? Allocate tracks dynamically and then store the
pointer in the library path.
Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>