denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] Source directory


From: Richard Shann
Subject: Re: [Denemo-devel] Source directory
Date: Sat, 01 Mar 2014 19:41:52 +0000

On Sat, 2014-03-01 at 19:18 +0000, Richard Shann wrote:
> On Sat, 2014-03-01 at 14:08 +0100, Éloi Rivard wrote:
> > You can see it in the "subdirs" branch if you want.
> > 
> > 
> > 
> > 2014-02-28 20:51 GMT+01:00 Éloi Rivard <address@hidden>:
> >         I made a try at home, tell me if there is something you think
> >         is not in the right place:
> >         
> >         address@hidden ~/dev/denemo/src]$ ls *
> >         Makefile.am  Makefile.in  pathconfig.h
> >         
> >         audio:
> >         alsabackend.c  audiointerface.c  dummybackend.h  fluid.c
> >         jackbackend.h  midi.c        pitchentry.h  playback.c
> >         portaudiobackend.h  portmidibackend.c  portmidiutil.h
> >         alsabackend.h  audiointerface.h  eventqueue.c    fluid.h
> >         jackutil.c     midi.h        pitchrecog.c  playback.h
> >         portaudioutil.c     portmidibackend.h  ringbuffer.c
> >         audio.h        dummybackend.c    eventqueue.h    jackbackend.c
> >         jackutil.h     pitchentry.c  pitchrecog.h  portaudiobackend.c
> >         portaudioutil.h     portmidiutil.c     ringbuffer.h
> 
> I think there is a problem here: completely different things are in this
> directory. One activity is to do with playing a score back, for which
> "audio" is quite a good overall name. The other is getting input from
> the user from microphone or MIDI controller, audio_in and midi_in.
> I think they both share some queueing software which has been stolen
> from the JACK project, and so, rather confusingly, has the name jack_
> attached to it, even though it applies to systems that are not using
> JACK.
> midi.c in particular will present a problem. In part it has stuff to do
> with MIDI controller input. And in part it has stuff to do with
> playback. It may even have bits used by midi import from file.
> 
> >         
> >         command:
> >         barline.c 
> >          bookmarks.c
> 
>        barline.c and bookmarks.c are obsolete code AFAIK
> 
> 
> >           changenotehead.c  chordops.c  commandfuncs.c  contexts.c
> >         dynamic.c  fakechord.c  figure.c  graceops.c  keyresponses.c
> >         lyric.c  measureops.c  objops.c  scoreops.c  selectops.c
> >         staffops.c  tupletops.c
> >         barline.h  bookmarks.h  changenotehead.h  chordops.h
> >         commandfuncs.h  contexts.h  dynamic.h
> 
> dynamic.h and c are obsolete AFAIK
> 
> >           fakechord.h  figure.h  graceops.h  keyresponses.h  lyric.h
> >         measureops.h  objops.h  scoreops.h  selectops.h  staffops.h
> >         tupletops.h
> >         
> >         core:
> >         binreloc.c  denemo_types.c  external.h  http.h
> >         instrumentname.h 
> 
> instrumentname.h is a playback thing
> 
> >          kbd-custom.c  keyboard.c  keymapio.c
> 
> these are to do with keyboard shortcuts, and belong with
> keyresponses.c,h I would think
> 
> >           main.c              parseinstruments.h 
> parseinstruments.h is also a playback thing I think - possibly some of
> the instrumentname stuff is obsolete, we are getting instrument names
> from  the installed soundfont
> 
> >          prefops.h  utils.c
> >         binreloc.h  external.c      http.c      instrumentname.c
> >         instruments.xml 
> 
> see previous comment
> 
> 
> >           kbd-custom.h  keyboard.h  keymapio.h
> 
> see above
> 
> >           parseinstruments.c  prefops.c           twoints.h  utils.h
> >         
> >         generated:
> >         entries.h  register_commands.h  scheme_cb.h  scheme.h
> >         xml.fragment
> >         
> >         io:
> 
> This name (for Input/Output) would apply to the things listed as "audio"
> above, as well as keyresponses.c (which are keyboard input things)
> 
> >         audiofile.c  exportabc.c  exportlilypond.c  exportmidi.c
> >         exportxml.c  file.c  guidedimportmidi.c  importmidi.c
> >         importmusicxml.c  importxml.c  print.c  processstaffname.c 
> 
> processstaffname.c is some sort of staffops.c I think.
> 
> >          screenshot.c  xmldefs.h
> 
> xmldefs.h are some utilities for many of the users of the libxml2
> library
> 
> >         audiofile.h  exportabc.h  exportlilypond.h  exportmidi.h
> >         exportxml.h  file.h  guidedimportmidi.h  importmidi.h
> >         importmusicxml.h  importxml.h  print.h  processstaffname.h
> >         screenshot.h
> 
> screenshot.* are to do with capturing source material and storing in a
> Denemo score.
> 
> >         
> >         render:
> >         accwidths.h           displayanimation.c  drawbarline.c
> >         drawcursor.c     drawfigure.c    drawkey.c      drawnotes.c
> >         drawtimesig.c  hairpin.h       notewidths.h  slurs.c
> >         calculatepositions.c  displayanimation.h  draw.c
> >         drawdynamic.c    draw.h          drawlilydir.c
> >         drawselection.c  drawtuplets.c  moveviewport.c  printview.c
> >         slurs.h
> >         calculatepositions.h  drawaccidentals.c   drawclefs.c
> >         drawfakechord.c  drawingprims.h  drawlyric.c    drawstemdir.c
> >         hairpin.c      moveviewport.h  printview.h
> 
> I am not sure moveviewport.h belongs here - it is controlling the
> display widget, not drawing inside it.
> 
> 
> >         
> >         scripting:
> >         lilydirectives.c  lilydirectives.h  scheme-callbacks.c
> >         scheme-callbacks.h  scheme-identifiers.c  scheme-identifiers.h
> >         
> >         source:
> >         audiocapture.c  audiocapture.h  sourceaudio.c  sourceaudio.h
> >         source.c  source.h
> 
> pitchrecog.c and some stuff in midi.c belong here
> 
> 
> >         
> >         ui:
> 
> I think you have picked up many of these because they have dialog in
> their name. Denemo is a ui, a user-interface, so it is difficult to
> exclude things from this directory.
> 
> >         clefdialog.c  help.c  kbd-interface.c  keysigdialog.c
> >         mousing.c  mwidthdialog.c  palettes.h        palettestorage.h
> >         playbackprops.h  scorelayout.c
> 
> scorelayout.c (IIRC) is to do with making changes to the LilyPond
> typesetting at the structural level (e.g. moving lyrics above staffs
> instead of below).
> 
> >           scoreprops.c
> >                texteditors.c
> >           timedialog.c       view.c

a further thought:
I'm not sure view.c has much that could be called ui in it: it has stuff
for initializing Denemo at startup and creating the main window etc,
also basic stuff like the rhythmic patterns used to enter music.

Richard





reply via email to

[Prev in Thread] Current Thread [Next in Thread]